2017-02-03 124 views
1

我有不及時的規格說明。RSpec測試時間對象

我知道時間是從紀元秒計算出來的,但是我希望這個規範能夠在對象表示足夠接近的情況下通過。

例如:

expect(@model.end_date).to eq end_date 

expected: Wed, 08 Feb 2017 20:13:30 UTC +00:00 
    got: Wed, 08 Feb 2017 20:13:30 UTC +00:00 

有沒有人對測試時間的任何建議,從而使得輕微的偏移不會失敗的考驗嗎?

回答

2

您可以使用RSpec中的內置be_within matcher,它也可以用於浮點數和其他數據類型容易出現輕微的差異:

expect(@model.end_date).to be_within(1.second).of(end_date) 
+0

傳奇!謝謝! – fbelanger

+0

此外,請注意,如果您必須比較字符串而不是日期的數字reperesentations,則可以使用正則表達式匹配器。 – labyrinth