我有一个抛出对象的函数,我如何断言开玩笑地抛出正确的对象?
it('should throw', () => {
const errorObj = {
myError: {
name: 'myError',
desc: 'myDescription'
}
};
const fn = () => {
throw errorObj;
}
expect(() => fn()).toThrowError(errorObj);
});
https://repl.it/repls/FrayedViolentBoa
原文由 Daniel Billingham 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果您正在寻找测试自定义错误的内容(我认为这就是您想要做的)。您可以捕获错误然后执行断言。
正如 Dez 所建议的,如果您不抛出 javascript Error 对象的实例,则 toThrowError 函数将不起作用。但是,您可以通过装饰错误对象的实例来创建自定义错误。
例如
然后,一旦您在测试中发现错误,您就可以测试错误的自定义内容。