如何在 Node 中使用 Mocha 和 Chai 测试承诺拒绝?
How to test promise rejection with Mocha and Chai in Node?
我正在尝试使用 Mocha 和 Chai 测试我的服务和 dao。但是,在伊斯坦布尔的报道中,我得到的 'reject' 行是红色的。这是示例测试方法的代码。
describe('findAllCategories()', function() {
it('should return all categories', function() {
var stub = sinon.stub(categoryDao, 'findAllCategories');
stub.callsFake(() => {
return Promise.resolve(cat);
});
categoryService.findAllCategories().then(response => {
assert.length(response, 1);
}).catch(isError)
.then((err) => {
console.log(err);
assert.isDefined(err);
});
})
});
现在,当我记录错误时,它显示 "TypeError: assert.length is not a function"。
有出路吗?
断言库没有函数 length
,但您可以使用 lengthOf()
(有关详细信息,请参阅 https://www.chaijs.com/api/assert/):
assert.lengthOf(response, 1);
我正在尝试使用 Mocha 和 Chai 测试我的服务和 dao。但是,在伊斯坦布尔的报道中,我得到的 'reject' 行是红色的。这是示例测试方法的代码。
describe('findAllCategories()', function() {
it('should return all categories', function() {
var stub = sinon.stub(categoryDao, 'findAllCategories');
stub.callsFake(() => {
return Promise.resolve(cat);
});
categoryService.findAllCategories().then(response => {
assert.length(response, 1);
}).catch(isError)
.then((err) => {
console.log(err);
assert.isDefined(err);
});
})
});
现在,当我记录错误时,它显示 "TypeError: assert.length is not a function"。
有出路吗?
断言库没有函数 length
,但您可以使用 lengthOf()
(有关详细信息,请参阅 https://www.chaijs.com/api/assert/):
assert.lengthOf(response, 1);