我开始使用NodeJS进行mocha测试框架.成功断言工作正常,但如果断言失败,我的测试超时.为了断言,我尝试了应该和期待.例如(异步代码)
it('should create new user', function(done){
userService.create(user).then(function(model){
expect(model.id).to.be(1); //created user ID
done();
}, done)
});
Run Code Online (Sandbox Code Playgroud)
这里if模型id不是1然后是测试超时而不是报告失败的断言.我确定我做错了什么.感谢您的帮助.谢谢!
dan*_*nvk 18
肖恩的答案有效,但有一种更简单的方法.
如果您从测试中返回Promise,Mocha将为您处理所有事情:
it('should create new user', function() {
return userService.create(user).then(function(model){
expect(model.id).to.be(1); //created user ID
});
});
Run Code Online (Sandbox Code Playgroud)
无需done回拨!
小智 17
期望抛出一个被承诺捕获的错误.添加调用done的catch条件可以修复此问题.
it('should create new user', function(done) {
userService.create(user).then(function(model) {
expect(model.id).to.be(1); //created user ID
done();
}).catch(function(e) {
done(e);
})
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2289 次 |
| 最近记录: |