Spróbuj, jeśli otrzymasz bardziej opisowy komunikat o błędzie, uruchamiając test z terminala, na przykład:
ng test -sm=false
W swoim teście możesz wymienić
it('should...')
z
fit('should...')
Teraz będą wykonywane tylko testy poprzedzone dopasowaniem . Aby pozostawić otwartą przeglądarkę po uruchomieniu testu, uruchom test w następujący sposób:
ng test -sm=false --single-run false
Osobiście dwukrotnie napotkałem ten błąd. Oba zostały wyzwolone tylko podczas wywoływania fixture.detectChanges ().
Za pierwszym razem rozwiązałem to, używając bezpieczniejszej interpolacji ciągów w moim pliku .html.
Niebezpieczny przykład:
<p>{{user.firstName}}</p>
Przykład Safe (r) (zwróć uwagę na znak zapytania):
<p>{{user?.firstName}}</p>
To samo może dotyczyć wiążących majątku:
<p [innerText]="user?.firstName"></p>
Za drugim razem użyłem DatePipe w moim pliku .html, ale mock właściwość, na której go użyłem, nie była datą.
Plik .html:
<p>{{startDate | date: 'dd-MM-yyyy'}}</p>
Plik .ts (mock-data) ( nieprawidłowo ):
let startDate = 'blablah';
Plik .ts (mock-data) ( poprawne ):
let startDate = '2018-01-26';