我是相当新的JavaScript和我试图用茉莉来单元测试一些错误处理代码。单元测试window.onerror与茉莉
特别是,我试图编写一些测试来验证替代window.onerror()的我们的自定义代码(称为windowHandleError)被调用,并且正在做我们想要的。
我试图沿着线的东西:
it("testing window.onerror", function() {
spyOn(globalerror, 'windowHandleError');
globalerror.install();
var someFunction = function() {
undefinedFunction();
};
expect(function() {someFunction();}).toThrow();
expect(globalerror.windowHandleError).toHaveBeenCalled();
});
但它不会触发onerror的。我看过一些相关的问题,但他们似乎询问特定的浏览器,或者如何/在哪里使用onerror,而不是如何测试它。
window.onerror not firing in Firefox
Capturing JavaScript error in Selenium
window.onerror does not work
How to trigger script.onerror in Internet Explorer?
基于一些什么那些说,我想在运行调试器的规范测试将强制使用onerror触发,但没有骰子。任何人都知道更好的方法呢?
伟大的想法,我想不出如何获得错误处理程序称为只是测试我的代码诠释他的浏览器,setTimeout()做的伎俩。 –