2017-10-03 6 views
0

空の配列をチェックしようとしているときにエラーが発生しました。[]ジャスミン、空の配列をチェックする方法

ケース1:

Expected [ ] to be [ ]. 
:配列

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

両方の場合に同じ誤差を有するように初期化:配列

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

ケース2のように初期化することを私が使用してみました

配列の長さでもチェックできます。以下は正常に動作します。

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

0長さはオプションですが、配列が空であるかどうかを確認する正しい方法であるかどうかはわかりません。配列が空であるかどうかを調べるためのより良いオプションがありますか?

+4

「toEqual」の期待値を使用します。 – cartant

+0

なぜあなたは 'toBe'を使用していますか?上で述べたように、それを 'toEqual'に置き換えてください。 – Igor

答えて

7

toBeは、明示的な参照チェックです。

expect([1]).toBe([1])は参照が異なるため失敗します。

toEqualを使用する必要があります。これには参照比較を行うのではなく、配列の内容をチェックするスマートなものがあります。

関連する問題