我正在使用Mocha来测试我的Node.js代码。此特定测试是检查某些存根是否返回已填充对象的数组。 测试结果很好,结果按预期填充,一切都是“绿灯”。但是,当预计Mocha完成其过程时,它仍然停滞不前。完成它的唯一方法是按Ctrl + C.
我试过三种写测试(如下)。在所有这些测试中,测试通过,但保持过程锁定:
1)使用简单的then / catch方法:
describe('#getAll()', function () {
it('should return a list of objects', function (done) {
orderRepository.getAll()
.then((result) => {
assert.isArray(result);
done();
})
.catch((err) => { done(err); });
});
});
2)使用新的Mocha-ready Promise测试:
describe('#getAll()', function () {
it('should return a list of objects', function () {
return orderRepository.getAll()
.then((result) => {
assert.isArray(result);
});
});
});
3)使用async / await的推荐方法:
describe('#getAll()', function () {
it('should return a list of Order objects', async function () {
var result = await orderRepository.getAll();
assert.isArray(result);
});
});
再次说明:所有三种方法都会返回绿灯测试,但仍然卡在摩卡过程中。
我正在使用Mocha和Chai作为必需的模块。
如果有人能帮助我,我会很高兴的!