kvb*_*vbx 6 javascript unit-testing mocha.js node.js sails.js
我对帆,节点和js一般都是新手,所以我可能会遗漏一些明显的东西.
我使用风帆0.10.5和节点0.10.33.
在sails.js文档中有一个关于测试http://sailsjs.org/#/documentation/concepts/Testing的页面,但它没有告诉我如何实际运行它们.
我根据该文档设置了目录,添加了一个名为test/unit/controllers/RoomController.test.js的测试,现在我想让它运行.
没有'sails test'命令或类似的东西.我也没有找到任何关于如何添加任务的迹象,因此测试总是在"风帆升降"之前运行.
UPDATE-2:在用这种方式运行单元测试需要花费多少努力之后,我决定创建一个模块来加载模型并将它们变成全局,就像风帆一样,但是没有花费太多.即使你剥离每个钩子,但是根据机器的orm-loader,在没有任何测试的情况下它可以很容易地花费几秒钟!并且当你添加模型它变得更慢时,所以我创建了这个模块,称为waterline-loader所以你可以只加载基础知识(大约快10倍),模块不稳定并需要测试,但欢迎您使用或修改它以满足您的需求,或者帮助我在这里改进它 - > https:// github.com/Zaggen/waterline-loader
UPDATE-1: 我已经将与使用mocha运行测试相关的信息添加到Running tests部分下的文档中.
只是为了扩展别人所说的话(特别是Alberto Souza所说的).
您需要两个步骤才能使mocha与sails一起使用.首先,如sails.js文档中所述,您需要在运行测试之前解除服务器,并且为此,您可以在根路径中创建一个名为bootstrap.test.js的文件(它可以被称为任何您喜欢的文件)(您的测试(test/bootstrap.test.js)将首先由mocha调用,然后它将调用您的测试文件.
var Sails = require('sails'),
sails;
before(function(done) {
Sails.lift({
// configuration for testing purposes
}, function(err, server) {
sails = server;
if (err) return done(err);
// here you can load fixtures, etc.
done(err, sails);
});
});
after(function(done) {
// here you can clear fixtures, etc.
sails.lower(done);
});
Run Code Online (Sandbox Code Playgroud)
现在在你的package.json中,在脚本键上添加这一行(忽略注释)
// package.json ....
scripts": {
// Some config
"test": "mocha test/bootstrap.test.js test/**/*.test.js"
},
// More config
Run Code Online (Sandbox Code Playgroud)
这将加载bootstrap.test.js文件,抬起你的sails服务器,然后运行所有使用'testname.test.js'格式的测试,如果你愿意,可以将它改为'.spec.js'.
现在您可以npm test用来运行测试.
请注意,您可以在不修改package.json的情况下执行相同的操作,并mocha test/bootstrap.test.js test/**/*.test.js在命令行中进行排序
PST:有关bootstrap.test.js的更详细配置,请检查Alberto Souza的答案或直接在hist github repo中检查此文件
请参阅 we.js 中的我的测试结构:https://github.com/wejs/we-example/tree/master/test
您可以复制并粘贴到 sails.js 应用程序中,并删除 bootstrap.js 中的 we.js 插件功能
并更改 package.json 以在 npm 测试中使用设置正确的 mocha 命令: https: //github.com/wejs/we-example/blob/master/package.json#L10
- 编辑 -
我创建了一个简单的 sails.js 0.10.x 测试示例,请参阅: https: //github.com/albertosouza/sails-test-example
| 归档时间: |
|
| 查看次数: |
3687 次 |
| 最近记录: |