Con*_*nce 6 mocha.js node.js gruntjs sails.js
我正在尝试运行我的帆单元测试(使用摩卡和伊斯坦布尔)
跑步的时候
grunt test
Run Code Online (Sandbox Code Playgroud)
我得到了错误
1) "before all" hook
2) "after all" hook
0 passing (5s)
2 failing
1) "before all" hook:
Error: timeout of 2000ms exceeded
at null.<anonymous> (/vagrant/node_modules/mocha/lib/runnable.js:157:19)
at Timer.listOnTimeout [as ontimeout] (timers.js:112:15)
2) "after all" hook:
ReferenceError: sails is not defined
Run Code Online (Sandbox Code Playgroud)
设置似乎没有找到我的Sails ...但正在做
which sails
Run Code Online (Sandbox Code Playgroud)
我明白了
/usr/local/node/node-default/bin/sails
Run Code Online (Sandbox Code Playgroud)
并且运行sails lift正常
这是我项目中的mocha测试文件
//boostrap.test.js
var Sails = require('sails');
before(function(done) {
Sails.lift({
// configuration for testing purposes
}, function(err, sails) {
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)
小智 4
首先,你有一个打字错误问题,你有:
var Sails = require('sails');
Run Code Online (Sandbox Code Playgroud)
但你尝试使用
sails.lower(done);
Run Code Online (Sandbox Code Playgroud)
代替
Sails.lower(done);
Run Code Online (Sandbox Code Playgroud)
然后,您需要定义配置的项目范围的“迁移”设置(http://sailsjs.org/#/documentation/concepts/ORM/model-settings.html?q=migrate)您只需编辑 config/ models.js 文件。您只需取消注释以下行即可:
//migrate: 'alter'
Run Code Online (Sandbox Code Playgroud)
享受 :)