【发布时间】:2015-01-31 01:23:52
【问题描述】:
我正在这样的数组上运行 mocha 测试循环:
it('each should have permissions defined for each role', function(done) {
async.forEach(_permissions, function(permission, callback) {
log.debug(permission.permissions.should.be.an.instanceOf(Array).and.not.be.empty);
callback(permission.permissions.should.be.an.instanceOf(Array).and.not.be.empty);
},
function(result) {
log.debug(result);
done();
});
});
当我注销它时,它似乎在异步运行,即使我正在使用done() 回调。是这样吗?我的测试是否仍在成功执行,还是仅执行第一个然后返回成功结果?
这是控制台输出:
[Tue Dec 02 2014 09:24:07 GMT-0800 (PST)] DEBUG { obj: [ 'permissions!' ], params: { operator: 'to be empty' }, negate: false }
✓ each should have permissions defined for each role // <- here's the test result
[Tue Dec 02 2014 09:24:07 GMT-0800 (PST)] DEBUG { obj: [ 'permissions!' ], params: { operator: 'to be empty' }, negate: false }
[Tue Dec 02 2014 09:24:07 GMT-0800 (PST)] DEBUG { obj: [ 'permissions!' ], params: { operator: 'to be empty' }, negate: false }
[Tue Dec 02 2014 09:24:07 GMT-0800 (PST)] DEBUG { obj: [ 'permissions!' ], params: { operator: 'to be empty' }, negate: false }
【问题讨论】: