최근 코드베이스에 커스텀 글로벌 에러 핸들러를 구현했고, QUnit + Sinon 스위트에서 그 동작을 테스트하고 싶었습니다. 그러나,이 작동하지 않는 것 다음 banana()
호출에 의한 ReferenceError
이후QUnit/Sinon으로 window.onerror를 테스트하십시오.
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
});
실제로 실패와 테스트 실행을 중지 QUnit 자체에 의해 체포된다.
내 스스로 오류를 처리하거나 오류를 던져서 내 자신의 window.onerror
이 QUnit 대신 실행되도록 QUnit에게 알릴 수있는 방법이 있습니까?
오류가 발생했을 때 window.onerror가 호출되고 (실제로는 테스트를 통해 보장해야 함) 실제로 테스트해야하는 것은 ' myOnError' 님이하고 있습니다 .... 감사합니다! – Raibaz