什么是Node.js最好的测试框架?
我在https://github.com/ry/node/wiki/modules#testing查看了相当长的测试框架列表。 这些框架的经验是什么?
显然,在浏览器中运行的能力将是一项巨大的好处,但我主要对Node.js感兴趣。 一个严重异步倾斜的东西会很棒。
更新:
摩卡是我认为最好的。
这些框架的经验是什么?
我玩expresso这是非常酷的测试框架,也有测试覆盖。 它由TJ Holowaychuk创建,TJ Holowaychuk也是Express.js(基于Node.js和Connect构建的疯狂快速(小型)服务器端JavaScript Web开发框架)的创建者。 我最近看到他还有一个很酷的库叫做should.js,可以和Expresso一起使用,以获得更好的测试体验。
显然,在浏览器中运行的能力将是一项巨大的好处
我不相信它可以在浏览器中运行,但我也不明白为什么你想在浏览器中运行它。
但我主要对Node.js感兴趣。 一个严重异步倾斜的东西会很棒。
来自expresso的报价:
传递给每个回调的参数是beforeExit,它通常用于声明回调已被调用。
您可以使用beforeExit来测试异步函数。
提示:在GitHub上关注TJ Holowaychuk,因为他创建了非常好的开源代码。
我使用VowsJS这是很容易使用的异步BDD框架(行为驱动开发),并完成工作。
从我最近看到的是许多人选择测试他们的NPM模块,所以我相信到目前为止,这是最好的使用方法。
一些可以与NodeJS一起使用的流行测试框架也是这样的:
您也可以在这里看到JavaScript测试框架列表
更少的库可以帮助你编写更好的代码:
Atlassian还有Bamboo CI Server,它可以自动构建和测试。 它是Apache / Tomcat的一个软件包(sux因为它使用Java并且使它非常繁重)也不是免费的,但它有一个初始许可证,价格为10美元,所以我相信它是实惠的。 它是迄今为止我发现的所有CI服务器中最具特色的功能,它支持所有支持xUnit的单元测试,这意味着您可以使用Bamboo运行任何语言的构建/测试。
CI与NodeJS的另一个选择是Travis,很多人都将其用于开源项目,正如它说的那样,为开源社区托管持续集成服务。
还有一个关于持续集成节点JS项目的谷歌小组讨论主题。
根据上述提问者的评论,我尝试了许愿,并解决了我在异步测试中遇到的许多问题。 它能够混合串行和并行测试非常棒。
确保您仔细阅读指导文档,但一旦掌握了该指导文档,它就会灵活而强大,并且会产生清晰的结果。
更新:我也鼓励人们检查出他们的断言。 它允许非常灵活,可读性强的断言,并且与Expresso和Vows以及其他大多数其他测试框架兼容。
(为了防止人们注意到Alfred的回答,我将其作为一个单独的答案发布。)
更新1/7/2015:为了什么是值得的,我已经从誓言转变为摩卡,并从应变到柴。 对于使用承诺的异步测试,摩卡拥有更好的支持,Chai允许为那些不想修改对象原型的人提供几种灵活的断言选项,包括expect
api。
上一篇: What is the best testing framework to use with Node.js?