在 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 秒差异而失败。有没有更好的方法来测试这个?
感谢您提供任何可以帮助我学习这一点的提示。