Coba jika Anda mendapatkan pesan kesalahan yang lebih deskriptif dengan menjalankan tes dari terminal, seperti ini:
ng test -sm=false
Dalam pengujian Anda, Anda dapat mengganti
it('should...')
dengan
fit('should...')
Sekarang hanya tes yang diawali dengan fit yang akan dijalankan. Untuk membiarkan browser terbuka setelah menjalankan pengujian, jalankan pengujian seperti ini:
ng test -sm=false --single-run false
Secara pribadi, saya mengalami kesalahan ini dua kali. Keduanya hanya dipicu saat memanggil fixture.detectChanges ().
Yang pertama kalinya, saya dipecahkan dengan menggunakan interpolasi string lebih aman dalam file html saya.
Contoh yang tidak aman :
<p>{{user.firstName}}</p>
Contoh Safe (r) (perhatikan tanda tanya):
<p>{{user?.firstName}}</p>
Hal yang sama mungkin berlaku untuk pengikatan properti:
<p [innerText]="user?.firstName"></p>
The kedua kalinya, saya menggunakan DatePipe dalam file html saya, tapi milik bohongan yang saya gunakan pada itu bukan kencan.
file .html:
<p>{{startDate | date: 'dd-MM-yyyy'}}</p>
File .ts (mock-data) ( salah ):
let startDate = 'blablah';
.ts (mock-data) file ( benar ):
let startDate = '2018-01-26';