Javascript单元测试

Javascript Unit test

本文关键字:单元测试 Javascript      更新时间:2023-09-26

我在250行中有一个javascript应用程序,并希望添加测试。每当我做一个微小的更改时,我都必须手动运行至少10个案例的测试,这是我想要自动化的。

我本可以选择不同帖子中建议的框架,但我想要的解决方案是最小化摩擦和代码库。类似于用于单元测试的单个文件的东西可能会起作用。

有没有一种方法可以在没有任何框架的情况下使用JS测试?我想写单元测试/功能测试两者。或者,如果Frameworks是唯一的选择,那么在现有代码的易插件性+学习曲线方面,哪些框架是首选的。

单元测试框架非常有用,因为它们提供了运行测试并向您提供反馈的环境。不使用一个将是你自己承担这些责任,这将是比听起来你想要做的更多的工作

如果您正在使用node,那么设置单元测试框架是非常容易的。我喜欢使用Karma作为mocha测试框架和chai断言库的测试运行程序。

我会选择一个框架。虽然您的用例现在可能很简单,但您可能会发现自己处于一个需要更多功能的项目中。对于您认真使用的任何语言,您应该至少熟悉一个测试框架/库。构建系统和包管理也是如此。

对于javascript,我只使用了摩卡。它非常全面,易于学习,可以在浏览器中使用,也可以与节点一起使用,而且测试实际上看起来非常干净,易于阅读。

此外,使用mocha,您可以选择自己的断言库,我使用chai。它是在考虑tdd和bdd的情况下构建的,它使编写断言感觉更像是编写自然语句,而不是代码。当然,您仍然可以使用js环境提供的任何默认断言功能(如果有的话)。

在没有任何框架的情况下,用简单的javascript设置自动化单元测试真的很难。如果您尝试自己重新发明现有javascript单元测试框架的轮子,那么这可能比您正在编写测试的250行代码要付出巨大的努力。

因此,如果你想要一个框架,jasmine和qunitjs是很有前途的javascript单元测试框架。

http://jasmine.github.io/

https://qunitjs.com/