nya*_*sha 11 javascript mocha.js node.js
我正在Mocha/Node js中编写测试,并希望在执行代码块之前使用setTimeout等待一段时间.
我怎么能做到这一点?
看来在Mocha测试用例中,setTimeout()不起作用.(我知道你可以为每个测试用例和每个测试文件设置setTimeout,这不是我在这里需要的.)
在使用Node运行的js文件中,即,node miniTest.js这将等待3秒,然后在setTimeout函数内打印该行.
console.log('waiting 3 seconds...');
setTimeout(function() {
console.log('waiting over.');
}, 3000);
Run Code Online (Sandbox Code Playgroud)
在使用Mocha运行的js文件中,即,mocha smallTest.js它不会等待,并且将完成执行并退出而不会在setTimeout函数内打印该行.
mocha = require('mocha');
describe('small test', function() {
it('tiny test case', function() {
console.log('waiting 3 seconds...');
setTimeout(function () {
console.log('waiting over.')
}, 3000);
});
});
Run Code Online (Sandbox Code Playgroud)
Nee*_*ngh 25
您忘记传入参数it('tiny test case', function()并在setTimeout方法中的console.log之后调用done().
describe('small test', function(){
it('tiny test case', function(done){
console.log('waiting 3 seconds');
setTimeout(function(){
console.log('waiting over.');
done();
}, 3000)
})
})
Run Code Online (Sandbox Code Playgroud)