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。2 つの時間は 1 ミリ秒ずれていました。#to_i上記のように比較する代わりに、比較する必要があり#to_fました。

于 2013-06-24T17:32:53.753 に答える