Erwarten [ ], um [ ] Jasmine, zu prüfen, wie leeres array
Immer Fehler beim überprüfen für leeres array. Ich habe versucht mit:
Fall 1: Durch die Initialisierung als ein array
expect(fixture.componentInstance.dataSource).toBe([]);
Fall 2: Durch die Initialisierung als ein array
let expectedAry = new Array;
expect(fixture.componentInstance.dataSource).toBe(expectedAry);
Sowohl in dem Fall haben den gleichen Fehler:
Expected [ ] to be [ ].
Arrays kann auch überprüft werden, durch Ihre Länge, das folgende funktioniert
expect(fixture.componentInstance.dataSource.length).toEqual(0);
0 die Länge ist eine option, aber nicht sicher, ob das der richtige Weg ist, um zu überprüfen, ob ein array leer ist. Wir haben eine bessere option für die Prüfung, ob ein array leer ist?
- Verwenden Sie die
toEqual
Erwartung. - Warum sind Sie mit
toBe
? Wie oben erwähnt, ersetzen Sie, dass mittoEqual
.
Du musst angemeldet sein, um einen Kommentar abzugeben.
toBe
ist eine explizite Referenz zu überprüfen.expect([1]).toBe([1])
fehl, da die Referenzen unterschiedlich sind.Sollten Sie verwenden
toEqual
, die hat einige smarts um zu überprüfen, die array-Inhalte im Gegensatz zu der gerade dabei ein Referenz-Vergleich.