1

Heroku 表示 Ruby 2.0 已准备好投入生产。好的,我会更新我的应用程序。但是我的测试失败了。这个开始失败了:

a_date.should == the_same_date

日期相等。除了在 Ruby 1.9.3 下通过相同的测试之外,我怎么知道?这在 2.0 下通过:

a_date.to_i.should == the_same_date.to_i

这是 Ruby 2.0 中的错误吗?我找不到任何关于打破日期平等的变化。

更新

这是实际的测试输出:

Failure/Error: target.should == @now
  expected: Mon, 24 Jun 2013 15:40:52 UTC +00:00
  got:      Mon, 24 Jun 2013 15:40:52 UTC +00:00 (using ==)
4

1 回答 1

1

这是 TimeCop 的问题。我觉得这个。无论如何,切换到头部版本解决了这个问题。

该问题是由于将时间冻结为Time.current. 两次相差一毫秒。而不是我上面提到的比较#to_i,我应该比较#to_f.

于 2013-06-24T17:32:53.753 回答