我想测试一个方法的错误处理,该方法使用 setTimeout 安排工作。该错误将在预定部分抛出,即:
function sutWithSetTimeout() {
setTimeout(function () { throw new Error("pang"); }, 1);
}
如何测试是否抛出错误以及是否包含正确的消息?
您需要捕获该函数setTimeout
并使用expect(function(){fn();}).toThrow(e);
。这样你就可以监视setTimeout
得到函数:
spyOn(window, 'setTimeout');
sutWithSetTimeout();
var fn = window.setTimeout.mostRecentCall.args[0];
expect(fn).toThrow('pang');
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)