目前有没有好的node.js(服务器端js)单元测试框架?我正在寻找比Assert模块更深入的东西 .
我刚刚上传了一个项目,我正在使用karma和Jasmine来单元测试nodejs:narma . 您的节点模块被加载到nodewebkit浏览器中,因此您可以执行节点模块并在同一堆中使用jquery等库 .
如果您熟悉QUnit,则可以使用node-qunit,它是QUnit现有框架的一种节点包装器 .
我已经设置了Mocha - 这里有一个很棒的教程 - http://brianstoner.com/blog/testing-in-nodejs-with-mocha/
我认为在各种可用的测试框架中,mocha是最新的,并且实现起来非常简单 . 这是一个关于如何使用它的精彩教程:http://thewayofcode.wordpress.com/2013/04/21/how-to-build-and-test-rest-api-with-nodejs-express-mocha/
vows是node.js的可靠单元测试库,但语法繁琐 .
我写了一个名为vows-fluent的瘦抽象,它使API可链接 .
我写了另一个抽象,[vows-is] Build 在誓言流利的基础上,并暴露出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 });
More examples
最初是为node.js制作的,deadunit是node.js和浏览器的javascript单元测试库 . 它的一些独特属性:
简单的学习曲线
可以在命令行(彩色或纯文本)或html上输出测试结果
它打印出断言所在的实际代码行,因此即使你不花很多时间编写测试评论,你的输出仍然有意义
它有一个简单的 count 断言,可以轻松处理预期的异常和异步断言
count
它打印出异常及其拥有的任何附加数据
它'll let you know if your code is hanging (something you don' t想要,但通常不被注意)
事件驱动的API可以通过网络或您想要的任何方式启用流测试结果 .
支持使用node-fibers进行测试
我最终使用node-unit,我真的很高兴 .
我最初使用Expresso,但它并行运行测试的事实引起了一些问题 . (例如,使用数据库夹具在这种情况下不能很好地工作) .
我查看了许多节点模块,流行的单元测试框架是node-unit和应该(由Expresso同一个人制作(可能是更新的名称?)
Vows也看起来很有希望 .
就个人而言,我坚持使用Expresso,但是有很多不同的框架,适应大多数测试风格 .
Joyent有an extensive list;放手一搏 .
test-studio是一个npm包,它为单元测试提供了一个功能强大的基于Web的前端 . 它支持诸如执行单个或一组测试以及将节点检查器步入单个测试之类的事情 . 它目前支持mocha,并且在未来的特定需求中将支持更多框架 .
了解更多信息here .
免责声明:我是作者 .
我也在为节点寻找一个不错的测试框架,并找到Mocha . 它是Expresso的官方继承者,似乎非常成熟 .
它允许插入不同的断言库,它为记者提供代码覆盖和其他东西(你可以插件自己) . 它可以运行同步或异步,它有一个简洁的API .
我会试一试并报告回来......
在花了相当多的时间专注于其他项目后,我终于回到了Javascript项目,并有时间玩摩卡 . 我可以认真推荐使用它 . 测试读得非常好,与gulp的集成非常好,测试运行得非常快 . 我能够在大约半天内设置自动独立以及浏览器内(浏览器化)测试运行和相应的代码覆盖率报告(大部分时间用于了解如何从gulp使用browserify) . 对我来说,mocha似乎是测试框架的一个很好的选择 .
我仍然非常相信摩卡 . 与chai集成允许插入不同的断言样式 . 您可以在this github project中签出工作设置 . 我现在正在使用它与业力,集成代码覆盖率报告,自动观察者和与IntelliJ的良好集成
11 回答
我刚刚上传了一个项目,我正在使用karma和Jasmine来单元测试nodejs:narma . 您的节点模块被加载到nodewebkit浏览器中,因此您可以执行节点模块并在同一堆中使用jquery等库 .
如果您熟悉QUnit,则可以使用node-qunit,它是QUnit现有框架的一种节点包装器 .
我已经设置了Mocha - 这里有一个很棒的教程 - http://brianstoner.com/blog/testing-in-nodejs-with-mocha/
我认为在各种可用的测试框架中,mocha是最新的,并且实现起来非常简单 . 这是一个关于如何使用它的精彩教程:http://thewayofcode.wordpress.com/2013/04/21/how-to-build-and-test-rest-api-with-nodejs-express-mocha/
vows是node.js的可靠单元测试库,但语法繁琐 .
我写了一个名为vows-fluent的瘦抽象,它使API可链接 .
我写了另一个抽象,[vows-is] Build 在誓言流利的基础上,并暴露出BDD风格的语法 .
一个例子是
More examples
最初是为node.js制作的,deadunit是node.js和浏览器的javascript单元测试库 . 它的一些独特属性:
简单的学习曲线
可以在命令行(彩色或纯文本)或html上输出测试结果
它打印出断言所在的实际代码行,因此即使你不花很多时间编写测试评论,你的输出仍然有意义
它有一个简单的
count
断言,可以轻松处理预期的异常和异步断言它打印出异常及其拥有的任何附加数据
它'll let you know if your code is hanging (something you don' t想要,但通常不被注意)
事件驱动的API可以通过网络或您想要的任何方式启用流测试结果 .
支持使用node-fibers进行测试
我最终使用node-unit,我真的很高兴 .
我最初使用Expresso,但它并行运行测试的事实引起了一些问题 . (例如,使用数据库夹具在这种情况下不能很好地工作) .
我查看了许多节点模块,流行的单元测试框架是node-unit和应该(由Expresso同一个人制作(可能是更新的名称?)
Vows也看起来很有希望 .
就个人而言,我坚持使用Expresso,但是有很多不同的框架,适应大多数测试风格 .
Joyent有an extensive list;放手一搏 .
test-studio是一个npm包,它为单元测试提供了一个功能强大的基于Web的前端 . 它支持诸如执行单个或一组测试以及将节点检查器步入单个测试之类的事情 . 它目前支持mocha,并且在未来的特定需求中将支持更多框架 .
了解更多信息here .
免责声明:我是作者 .
我也在为节点寻找一个不错的测试框架,并找到Mocha . 它是Expresso的官方继承者,似乎非常成熟 .
它允许插入不同的断言库,它为记者提供代码覆盖和其他东西(你可以插件自己) . 它可以运行同步或异步,它有一个简洁的API .
我会试一试并报告回来......
编辑:
在花了相当多的时间专注于其他项目后,我终于回到了Javascript项目,并有时间玩摩卡 . 我可以认真推荐使用它 . 测试读得非常好,与gulp的集成非常好,测试运行得非常快 . 我能够在大约半天内设置自动独立以及浏览器内(浏览器化)测试运行和相应的代码覆盖率报告(大部分时间用于了解如何从gulp使用browserify) . 对我来说,mocha似乎是测试框架的一个很好的选择 .
更新:
我仍然非常相信摩卡 . 与chai集成允许插入不同的断言样式 . 您可以在this github project中签出工作设置 . 我现在正在使用它与业力,集成代码覆盖率报告,自动观察者和与IntelliJ的良好集成