在Rails應用程序中,我有一個模型屬性,可在用戶執行操作時設置日期時間。如何爲DateTime值編寫非脆弱rspec測試?
什麼是測試此功能的最佳方式,而不是太脆弱?
例如,我有
it "should set the uploaded time" do
@model.uploaded_at.should == DateTime.now.new_offset(0)
end
我的測試失敗時,它應該通過與
expected: Thu, 24 May 2012 10:32:50 +0000
got: Thu, 24 May 2012 10:32:50 UTC +00:00
所以我的問題是:
我應該如何界定
DateTime.now.new_offset(0)
所以UTC 標記是預期的?我可以看到這個測試可能由於 時間的推移而失敗。例如:工廠獲得創建,測試 運行,1秒後
it "should set the uploaded time"
運行, 測試失敗,由於1秒的差異。有沒有更好的方法來測試 這個?
感謝您的任何提示,這將有助於我學習這一點。
有趣,感謝您的鏈接。這正是我需要的。 –