Mocha/Chai 测试 returns 错误消息,我找不到测试它的方法
Mocha/Chai test returns error message and I couldnt find a way to test it
标题说明了一切,它 returns 这样的消息
错误:开始日期是必填字段
我尝试使用 equal, instanceof.
describe('filter', () => {
it('needs to return a startDate required message', async () => {
let dto = {
'endDate': '2000-02-02',
};
let result = await service.filter(dto);
expect(result).to.throw();
};
});
这里的问题是你没有测试错误。
想一想:当您执行 expect(result).to.throw();
时,错误已被抛出。
另外 result
没有抛出任何错误。
所以你可以测试调用函数时抛出的错误。
您可以使用 chai as promised 以这种方式完成:
service.filter(dto).should.be.rejected;
此外,我已经使用以下代码测试了您的方法:
describe('Test', () => {
it('Test1', async () => {
//Only this line pass the test
thisFunctionThrowAnError().should.be.rejected;
//This not pass
let result = await thisFunctionThrowAnError();
expect(result).to.throw();
});
});
async function thisFunctionThrowAnError(){
throw new Error("Can mocha get this error?")
}
标题说明了一切,它 returns 这样的消息 错误:开始日期是必填字段 我尝试使用 equal, instanceof.
describe('filter', () => {
it('needs to return a startDate required message', async () => {
let dto = {
'endDate': '2000-02-02',
};
let result = await service.filter(dto);
expect(result).to.throw();
};
});
这里的问题是你没有测试错误。
想一想:当您执行 expect(result).to.throw();
时,错误已被抛出。
另外 result
没有抛出任何错误。
所以你可以测试调用函数时抛出的错误。
您可以使用 chai as promised 以这种方式完成:
service.filter(dto).should.be.rejected;
此外,我已经使用以下代码测试了您的方法:
describe('Test', () => {
it('Test1', async () => {
//Only this line pass the test
thisFunctionThrowAnError().should.be.rejected;
//This not pass
let result = await thisFunctionThrowAnError();
expect(result).to.throw();
});
});
async function thisFunctionThrowAnError(){
throw new Error("Can mocha get this error?")
}