我有一些代码希望在单元测试中抛出异常(使用Jest)。我能够使测试通过/失败,但在Jest手表中却收到了讨厌的错误消息。该信息使我认为发生了一些不好的事情,实际上这是预期的例外。
解释原因:生产代码(未显示)使用fetch
发出请求。我之前有一个模拟可提取的测试,该测试是为了证明我正确重置了状态。
测试代码:
it('should not keep on mocking fetch', (done) => {
try {
wrapper.find('button#submit').simulate('click');
done.fail("Expected fetch to not be defined");
} catch (error) {
done();
}
});
如何在不影响其他测试的情况下摆脱此测试的错误消息?
我尝试重新分配global.console.error
,该方法有效,但是如果我忘了在测试结束时重新分配真实的global.console.error
,那将非常糟糕。
我也尝试使用expect(...).toThrow()
,但仍然收到令人讨厌的错误消息。