2015-03-31 80 views
1

我在250行内有一个javascript应用程序,并且想要为此添加测试。每当我做一个小改动时,我必须手动运行至少10个测试,我想自动化。Javascript单元测试

我本来可以在不同的帖子中建议框架,但我想要的解决方案是最小的摩擦和代码库。像单个文件一样的单元测试可能会起作用。

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

回答

1

它真的很难设置自动单元测试与纯JavaScript没有任何框架。如果您试图自己重新发明现有的javascript单元测试框架,那可能比您正在编写测试的250行代码花费巨大。

所以,如果你要一个框架,茉莉花和qunitjs是有前途的javascript单元测试框架。

http://jasmine.github.io/

https://qunitjs.com/

1

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

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

另外,用摩卡,你可以选择你自己的断言库,我用chai。它是以tdd和bdd为基础构建的,它使得写入断言更像是写入自然语句而不是代码。当然,如果有的话,你仍然可以使用你的js环境给你的任何默认断言工具。

1

单元测试框架是有帮助的,因为提供将运行测试,并为您提供有关他们的反馈环境。如果不使用它,那就是为自己承担这些责任,并且会比听起来更像你正在做的事情。

如果使用节点,建立单元测试框架非常简单。我喜欢使用Karma作为测试运行者,使用mocha测试框架和chai断言库。