Timecopを使わなくても時間を止められた話
テストで時間を止めたい時、Timecopを使わないと止められないと思っていましたが、Rails4.1以降は標準のActiveSupport::Testing::TimeHelpers
でも止められると最近知りました。
1. Timecopを使った場合
- 1ヶ月前の時刻で固定する。
Timecop.freeze(Time.current.prev_month)
2. ActiveSupport::Testing::TimeHelpers
を使った場合
1ヶ月前の時刻で固定する。
travel_to(Time.current.prev_month)
元の時刻に戻す
travel_back
現在時刻で固定する
freeze_time
更新情報