2017-10-03 1 views
0

Obtenir une erreur en essayant de vérifier tableau vide. J'ai essayé d'utiliser:Attend [] pour être [] Jasmine, comment vérifier tableau vide

Cas 1: En initialisant comme un tableau

expect(fixture.componentInstance.dataSource).toBe([]); 

Cas n ° 2: En initialisant comme un tableau

let expectedAry = new Array; 
expect(fixture.componentInstance.dataSource).toBe(expectedAry); 

Les deux cas ont la même erreur:

Expected [ ] to be [ ]. 

Les tableaux peuvent également être vérifiés par leur longueur, les choses suivantes fonctionnent bien

expect(fixture.componentInstance.dataSource.length).toEqual(0); 

0 longueur est une option, mais vous ne savez pas si c'est la bonne façon de vérifier si un tableau est vide. Avons-nous une meilleure option pour vérifier si un tableau est vide?

+4

Utilisez l'attente 'toEqual'. – cartant

+0

Pourquoi utilisez-vous 'toBe'? Comme indiqué ci-dessus, remplacez cela par 'toEqual'. – Igor

Répondre

7

toBe est une vérification de référence explicite.

expect([1]).toBe([1]) échouera parce que les références sont différentes.

Vous devez utiliser toEqual, qui a quelques astuces pour vérifier le contenu du tableau plutôt que de simplement faire une comparaison de référence.