Node.js单元测试

当前是否有任何好的node.js(服务器端js)单元测试框架?我正在寻找比提供的Assert模块更深的东西。

西里Near2020/03/24 17:02:39

test-studio是一个npm软件包,可提供功能强大的基于Web的前端进行单元测试。它支持诸如执行单个或一组测试以及将节点检查器逐步引入单个测试之类的事情。它目前支持Mocha,并且在将来给定需求的情况下将支持更多框架。

在此处了解更多信息

免责声明:我是作者。

小宇宙Pro2020/03/24 17:02:39

deadunit最初是为node.js制作的,是一个针对node.js和浏览器的javascript单元测试库。它的一些独特属性:

  • 易学曲线
  • 可以在命令行(彩色或纯文本)或html格式输出测试结果
  • 它打印出断言所在的实际代码行,因此即使您没有花费很多时间编写测试注释,您的输出也很有意义
  • 它有一个简单的count断言,使处理预期的异常和异步断言变得容易
  • 它打印出异常以及它们具有的任何附加数据
  • 它会告诉您代码是否挂起(您不想要的东西,但通常不会被注意到)
  • 具有事件驱动的API,可以通过网络或以您想要的任何方式流式传输测试结果。
  • 支持使用节点光纤进行测试
猴子2020/03/24 17:02:39

我刚刚上传了一个项目,用于使用karma和Jasmine:narma对nodejs进行单元测试您的节点模块将加载到nodewebkit浏览器中,因此您可以在同一堆中执行节点模块并使用jquery之类的库。

Mandy村村2020/03/24 17:02:39

如果您熟悉QUnit,则可以使用node-qunit,它是QUnit现有框架的一种节点包装。

番长猴子2020/03/24 17:02:38

我个人仅使用了assert模块,还发现自己想要更多。我查看了许多节点模块,流行的单元测试框架是节点单元,应该(由Expresso的同一个人制造(也许是更新的名称?))

誓言看起来也很有希望。

梅Tom猿2020/03/24 17:02:38

我最终使用了节点单元,并对此感到非常满意。

我最初使用Expresso,但是它并行运行测试的事实引起了一些问题。(例如,在这种情况下,使用数据库固定装置效果不佳)。

老丝泡芙2020/03/24 17:02:38

我个人一直坚持使用Expresso,但是那里有很多不同的框架,可以适应大多数测试样式。

乔伊特的名单众多; 放手一搏。

LGil2020/03/24 17:02:38

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
});

更多例子

Tony凯2020/03/24 17:02:38

我也在寻找一个不错的node测试框架,并找到了 Mocha它是Expresso的正式继任者,看起来非常成熟。

它允许插入不同的断言库,它为报告程序提供代码覆盖率和其他功能(您可以自己插入)。它可以运行同步或异步,并且具有简洁的API。

我会尝试并回报...

编辑:

经过大量的时间投入其他项目后,我终于回到了Javascript项目,并有时间玩摩卡。我可以认真推荐使用它。这些测试的读法非常好,与gulp集成非常好,并且测试运行非常快。我能够在大约半天的时间内设置自动独立运行以及浏览器内(browserify)测试运行和相应的代码覆盖率报告(大部分时间用于了解如何从gulp中使用browserify)。对我而言,mocha似乎是测试框架的绝佳选择。

更新:

我仍然对Mocha充满信心。与chai集成允许插入不同的断言样式。您可以在此github项目中签出有效的设置我现在将其与业力一起使用,集成了代码覆盖率报告,自动监视程序以及与IntelliJ的良好集成

泡芙2020/03/24 17:02:38

我认为在可用的各种测试框架中,mocha是最新的,并且非常容易实现。这是有关如何使用它的精彩教程:http : //thewayofcode.wordpress.com/2013/04/21/how-to-build-and-test-rest-api-with-nodejs-express-mocha/