it('should catch exceptions',
inject(function ($timeout) {
spyOn(Raven, 'captureException');
$timeout(function () {
throw new Error('My oh My');
});
$timeout.flush();
expect(Raven.captureException).toHaveBeenCalledWith('My oh My', new Error('My oh My'));
})
);
そして、これは私が得るコンソールエラーです。
PhantomJS 1.9.8 (Mac OS X 0.0.0) $exceptionHandler should catch exceptions FAILED
Error: My oh My
undefined
at /Users/MyUser/App/src/app/exception.factory.spec.js:17
at invoke (/Users/MyUser/App/bower_components/angular/angular.js:4560)
at workFn (/Users/MyUser/App/bower_components/angular-mocks/angular-mocks.js:2518)
それで、私はここで何が間違っていますか?MDN ドキュメントから、次の例を取得しました。
try {
throw new Error('Whoops!');
} catch (e) {
console.log(e.name + ': ' + e.message);
}
それはまさに私がやっていることのように見えるので、新しく定義されたエラーがどのように未定義になるのか理解できません...