2016-03-30 14 views
1

私は合格テストを返しているようですが、失敗しているようです。合格デート角単位テスト

$scope.depart = (typeof serverShortDate !== 'undefined') ? new Date(serverShortDate) : new Date(); 



AssertionError: expected Wed, 30 Mar 2016 21:26:12 GMT to deeply equal Wed, 30 Mar 2016 21:26:12 GMT 

は、ここで私は想像することができ、そのすべてがどこかの違いであるということである私の簡単なスペック

expect(scope.depart).to.deep.equal(new Date()); 

です。エラーメッセージには同じ値が表示されます。

答えて

1

オブジェクト上の===の問題は、2つのオブジェクトが同じオブジェクトであるかどうかをチェックすることです。 ===は、文字列や数字と比較してオブジェクトの動作が多少異なります。

テストでは、新しいDateオブジェクトとscope.departを比較しているため、これらのオブジェクトは同じオブジェクトではなく、決して「深く」同等ではありません。両方の日付が同じ日付/時刻を表していることを確認するために

expect(scope.depart.valueOf()).to.deep.equal((new Date()).valueOf()); 

あなたがにあなたのテストを変更することができます。

+0

私はあなたが期待していることが意味することを期待しています – Winnemucca

0

テストする応答を文字列化する必要があります。

expect(scope.depart.toString()).to.deep.equal(new Date().toString());