当前是否有任何好的node.js(服务器端js)单元测试框架?我正在寻找比提供的Assert模块更深的东西。
Node.js单元测试
我刚刚上传了一个项目,用于使用karma和Jasmine:narma对nodejs进行单元测试。您的节点模块将加载到nodewebkit浏览器中,因此您可以在同一堆中执行节点模块并使用jquery之类的库。
如果您熟悉QUnit,则可以使用node-qunit,它是QUnit现有框架的一种节点包装。
vows是用于node.js的可靠的单元测试库,但是语法很繁琐。
我写了一个叫做vows-fluent的瘦抽象,它使API可链接。
我写了另一个抽象[vows-is],它基于vows-fluent构建并公开了BDD样式的语法。
一个例子是
var is = require("vows-is");
is.suite("testing is fun").batch()
.context("is testing fun?")
.topic.is("yes")
.vow.it.should.equal("yes")
.suite().run({
reporter: is.reporter
});
我也在寻找一个不错的node测试框架,并找到了 Mocha。它是Expresso的正式继任者,看起来非常成熟。
它允许插入不同的断言库,它为报告程序提供代码覆盖率和其他功能(您可以自己插入)。它可以运行同步或异步,并且具有简洁的API。
我会尝试并回报...
编辑:
经过大量的时间投入其他项目后,我终于回到了Javascript项目,并有时间玩摩卡。我可以认真推荐使用它。这些测试的读法非常好,与gulp集成非常好,并且测试运行非常快。我能够在大约半天的时间内设置自动独立运行以及浏览器内(browserify)测试运行和相应的代码覆盖率报告(大部分时间用于了解如何从gulp中使用browserify)。对我而言,mocha似乎是测试框架的绝佳选择。
更新:
我仍然对Mocha充满信心。与chai集成允许插入不同的断言样式。您可以在此github项目中签出有效的设置。我现在将其与业力一起使用,集成了代码覆盖率报告,自动监视程序以及与IntelliJ的良好集成
我认为在可用的各种测试框架中,mocha是最新的,并且非常容易实现。这是有关如何使用它的精彩教程:http : //thewayofcode.wordpress.com/2013/04/21/how-to-build-and-test-rest-api-with-nodejs-express-mocha/
test-studio是一个npm软件包,可提供功能强大的基于Web的前端进行单元测试。它支持诸如执行单个或一组测试以及将节点检查器逐步引入单个测试之类的事情。它目前支持Mocha,并且在将来给定需求的情况下将支持更多框架。
在此处了解更多信息。
免责声明:我是作者。