【发布时间】:2016-09-29 09:46:58
【问题描述】:
我最近在我的代码库中实现了一个自定义全局错误处理程序,我想在我的 QUnit+Sinon 套件中测试它的行为;但是,这似乎不起作用:
QUnit.test("It should fire an ajax request on errors", function(assert) {
var done = assert.async();
var myOnerror = window.onerror;
window.onerror = function(msg, url, line, col, error) {
myOnerror(msg, url, line, col, error);
//Some assertions on myOnerror execution
done();
};
banana(); //Trigger an error to have window.onerror execute
});
由于banana() 调用引起的ReferenceError 实际上被QUnit 本身捕获,因此会以失败停止测试执行。
有没有办法告诉 QUnit 我想自己处理错误,或者手动抛出错误以便调用我自己的 window.onerror 而不是 QUnit?
【问题讨论】:
标签: javascript unit-testing qunit