Essayez si vous obtenez un message d'erreur plus descriptif en exécutant le test à partir du terminal, comme ceci:
ng test -sm=false
Dans votre test, vous pouvez remplacer
it('should...')
avec
fit('should...')
Désormais, seuls les tests précédés de fit seront exécutés. Pour laisser le navigateur ouvert après avoir exécuté le test, exécutez le test comme ceci:
ng test -sm=false --single-run false
Personnellement, j'ai rencontré cette erreur deux fois. Les deux n'étaient déclenchés que lors de l'appel de fixture.detectChanges ().
La première fois, je l'ai résolu en utilisant l'interpolation de chaîne de manière plus sûre dans mon fichier .html.
Exemple dangereux :
<p>{{user.firstName}}</p>
Exemple Safe (r) (notez le point d'interrogation):
<p>{{user?.firstName}}</p>
La même chose peut s'appliquer à la liaison de propriété:
<p [innerText]="user?.firstName"></p>
Le second fois, j'utilisais un DatePipe dans mon fichier .html, mais la propriété fictive sur laquelle je l'ai utilisée n'était pas une date.
Fichier .html:
<p>{{startDate | date: 'dd-MM-yyyy'}}</p>
Fichier .ts (mock-data) ( faux ):
let startDate = 'blablah';
Fichier .ts (mock-data) ( correct ):
let startDate = '2018-01-26';