Я новичок в jasmin / karma и у меня есть модульный тест, который я пытаюсь запустить, но он вызывает странное поведение:
Тест:
it('should throw an error', () => {
const service: MyErrorHandler = TestBed.get(MyErrorHandler);
const errorFake = new HttpErrorResponse({
error: any,
headers: new HttpHeaders(),
status: 200,
statusText: 'MyErrorHandlerStatus',
url: undefined
});
service.handleError(errorFake, []).subscribe(x => expect(x).toEqual(errorFake));
});
Выход:
Chrome 70.0.3538 (Windows 10 0.0.0): Executed 0 of 43 SUCCESS (0 secs / 0 secs)
ERROR: 'A HTTP error has occurred: (params: [])', HttpErrorResponse{headers: HttpHeaders{normalizedNames: Map{}, lazyUpdate: null, headers: Map{}}, status: 200, statusText: 'Ok', url: null, ok: false, name: 'HttpErrorResponse', message: 'Http failure during parsin
g for (unknown url)', error: function(clazz) { ... }}
Chrome 70.0.3538 (Windows 10 0.0.0): Executed 3 of 43 SUCCESS (0 secs / 0.344 secs)
ERROR: 'A HTTP error has occurred: (params: [])', HttpErrorResponse{headers: HttpHeaders{normalizedNames: Map{}, lazyUpdate: null, headers: Map{}}, status: 200, statusText: 'Ok', url: null, ok: false, name: 'HttpErrorResponse', message: 'Http failure during parsin
ERROR: 'ErrorHandlerCatchAll: An error has occurred: (params: [])', HttpErrorResponse{headers: HttpHeaders{normalizedNames: Map{}, lazyUpdate: null, headers: Map{}}, status: 200, statusText: 'Ok', url: null, ok: false, name: 'HttpErrorResponse', message: 'Http fai
lure during parsing for (unknown url)', error: function(clazz) { ... }}
Chrome 70.0.3538 (Windows 10 0.0.0): Executed 3 of 43 SUCCESS (0 secs / 0.344 secs)
ERROR: 'ErrorHandlerCatchAll: An error has occurred: (params: [])', HttpErrorResponse{headers: HttpHeaders{normalizedNames: Map{}, lazyUpdate: null, headers: Map{}}, status: 200, statusText: 'Ok', url: null, ok: false, name: 'HttpErrorResponse', message: 'Http fai
Chrome 70.0.3538 (Windows 10 0.0.0) ERROR
{
"message": "An error was thrown in afterAll\n[object ErrorEvent] thrown",
"str": "An error was thrown in afterAll\n[object ErrorEvent] thrown"
}
Chrome 70.0.3538 (Windows 10 0.0.0): Executed 4 of 43 ERROR (0 secs / 0.364 secs)
Chrome 70.0.3538 (Windows 10 0.0.0) ERROR
{
"message": "An error was thrown in afterAll\n[object ErrorEvent] thrown",
"str": "An error was thrown in afterAll\n[object ErrorEvent] thrown"
Chrome 70.0.3538 (Windows 10 0.0.0): Executed 4 of 43 ERROR (0.407 secs / 0.364 secs)
Chrome 70.0.3538 (Windows 10 0.0.0) ERROR
Disconnected, because no message in 30000 ms.
Chrome 70.0.3538 (Windows 10 0.0.0): Executed 4 of 43 DISCONNECTED (33.04 secs / 0.364 secs)
Chrome 70.0.3538 (Windows 10 0.0.0) ERROR
Chrome 70.0.3538 (Windows 10 0.0.0): Executed 4 of 43 DISCONNECTED (33.04 secs / 0.364 secs)
Затем он просто зависает, и мой компьютерный вентилятор поднимается :)
В других тестах есть компоненты, использующие службу ошибок, я как-то ее блокирую или что-то в этом роде?
В этом сценарии с приведенным ниже выводом другой тест не пройден из-за отсутствия dep, но я никогда не захожу слишком далеко или не вижу ошибку, когда я закомментирую свой тест и перезапущу тест, я вижу ошибку на сервисе деятельности у нас есть.
Тест также отлично работает в 100% случаев, что я делаю не так? Любая помощь будет принята с благодарностью!