Railsアプリには、ユーザーがアクションを実行する日時を設定するモデル属性があります。
脆くなりすぎずに、この機能をテストするための最良の方法は何ですか?
たとえば、私は
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秒の違いのためにテストが失敗します。これをテストするためのより良い方法はありますか?
これを学ぶのに役立つヒントをありがとう。