[英]Pass date testing angular unit tests
我有一個三元似乎正在返回通過測試,但它失敗了。
$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());
我所能想象的只是某處有所不同。 錯誤消息顯示相同的值。
您在對象上的===
問題會檢查兩個對象是否是同一個對象。 ===
與字符串或數字相比,對象的工作方式略有不同。
您的測試似乎將一個新的 Date 對象與scope.depart
進行比較,根據定義,這些對象不是同一個對象,永遠不可能“完全”相等。
您可以將測試更改為:
expect(scope.depart.valueOf()).to.deep.equal((new Date()).valueOf());
檢查兩個日期是否代表相同的日期/時間。
您需要對要測試的響應進行字符串化。
expect(scope.depart.toString()).to.deep.equal(new Date().toString());
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.