簡體   English   中英

通過日期測試角度單元測試

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM