Intente si obtiene un mensaje de error más descriptivo ejecutando la prueba desde el terminal, como este:
ng test -sm=false
En su prueba, puede reemplazar
it('should...')
con
fit('should...')
Ahora solo se ejecutarán las pruebas precedidas por ajuste . Para dejar el navegador abierto después de ejecutar la prueba, ejecute la prueba de esta manera:
ng test -sm=false --single-run false
Personalmente, he encontrado este error dos veces. Ambos solo se activaron al llamar a fixture.detectChanges ().
La primera vez, lo resolví usando la interpolación de cadenas de manera más segura en mi archivo .html.
Ejemplo inseguro :
<p>{{user.firstName}}</p>
Ejemplo de Safe (r) (observe el signo de interrogación):
<p>{{user?.firstName}}</p>
Lo mismo puede aplicarse a la propiedad vinculante:
<p [innerText]="user?.firstName"></p>
La segunda vez, estaba usando un DatePipe en mi archivo .html, pero la propiedad simulada en la que lo usé no era una fecha.
Archivo .html:
<p>{{startDate | date: 'dd-MM-yyyy'}}</p>
Archivo .ts (datos simulados) ( incorrecto ):
let startDate = 'blablah';
Archivo .ts (datos simulados) ( correcto ):
let startDate = '2018-01-26';