Tente se você receber uma mensagem de erro mais descritiva executando o teste no terminal, como este:
ng test -sm=false
Em seu teste, você pode substituir
it('should...')
com
fit('should...')
Agora, apenas os testes precedidos por ajuste serão executados. Para deixar o navegador aberto após executar o teste, execute o teste assim:
ng test -sm=false --single-run false
Pessoalmente, encontrei esse erro duas vezes. Ambos foram acionados apenas ao chamar fixture.detectChanges ().
Na primeira vez, resolvi usar a interpolação de strings com mais segurança no meu arquivo .html.
Exemplo inseguro :
<p>{{user.firstName}}</p>
Exemplo de seguro (r) (observe o ponto de interrogação):
<p>{{user?.firstName}}</p>
O mesmo pode se aplicar à vinculação de propriedade:
<p [innerText]="user?.firstName"></p>
Na segunda vez, eu estava usando um DatePipe em meu arquivo .html, mas a propriedade mock em que usei não era uma data.
arquivo .html:
<p>{{startDate | date: 'dd-MM-yyyy'}}</p>
Arquivo .ts (dados fictícios) ( errado ):
let startDate = 'blablah';
Arquivo .ts (dados fictícios) ( correto ):
let startDate = '2018-01-26';