目前有没有好的 Node.js (服务器端 JavaScript)单元测试框架?
我在寻找一些比提供的 Assert 模块更深入的东西。
就我个人而言,我一直坚持使用 浓咖啡,但是现在有很多不同的框架,可以适应大多数测试风格。
Joyent 拿到 详尽的清单了,试试看。
我个人只使用过断言模块,但是我发现自己还需要更多。我已经浏览了许多 Node.js 模块,流行的单元测试框架是 节点和 should (它和 Espresso 是由同一个人制作的(也许是一个更新的名称?)
誓言看起来也很有希望。
我最终使用了 节点,并且非常满意。
我最初使用的是 浓咖啡,但是它并行运行测试的事实造成了一些问题。(例如,在这种情况下,使用数据库 fixture 不能很好地工作。)
誓言 是 Node.js 的一个可靠的单元测试库,但是语法很单调。
我已经编写了一个名为 誓言,流利的瘦抽象,它使 API 具有可链接性。
我还写了另一个抽象,[誓言-is ] ,它建立在誓言-流畅的基础上,并公开了一个 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 });
更多例子。
如果您熟悉 QUnit,您可以使用 Node-qunit,它是 QUnit 现有框架的一种节点包装器。
我还在为 node 寻找一个像样的测试框架,找到了 摩卡。它是 浓咖啡的正式继承者,看起来非常成熟。
它允许插入不同的断言库,它为代码覆盖率和其他事情提供记者(您可以插入自己的)。它可以同步或异步运行,它有一个简洁的 API。
我会试一下,然后回来报告..。
在花了大量时间致力于其他项目之后,我终于回到了一个 JavaScript 项目,并且有时间玩摩卡咖啡。我可以认真推荐使用它。测试读起来非常好,与 Gulp.js的集成非常好,测试运行非常快。我能够设置自动独立和在浏览器内(浏览器化)测试运行和相应的代码覆盖率报告在大约半天(大部分时间花在了解如何使用 Gulp.js 的 Browserify)。对我来说,Mocha 似乎是测试框架的一个非常好的选择。
我对摩卡还是很有信心的。与 阿漆的集成允许插入不同的断言样式。您可以在 这个 GitHub 项目中签出一个工作设置。我现在使用它与业力,集成代码覆盖率报告,自动监视器和良好的集成与 IntelliJ IDEA。
我认为在各种可用的测试框架中,摩卡是最新的,并且实现非常简单。下面是一个关于如何使用它的教程:
如何使用 Node.js、 Express 和 Mocha 构建和测试 RestAPI
死亡单位最初是为 Node.js 设计的,是一个用于 Node.js 和浏览器的 JavaScript 单元测试库。它的一些独特特征:
count
Test-Studio 是一个 npm 包,它为单元测试提供了一个强大的、基于 Web 的前端。它支持执行单个或多个测试组,以及将节点检查器加入到单个测试中。它目前支持摩卡和更多的框架将支持在未来的需求。
阅读更多有关它 给你。
免责声明: 我是作者。
我刚刚上传了一个用 Karma 和 Jasmine: 娜玛对 Node.js 进行单元测试的项目。
将 Node.js 模块加载到 Node-webkit浏览器中,这样就可以在同一堆中执行 Node.js 模块并使用 jQuery 等库。