Tech Racho エンジニアの「?」を「!」に。
  • 勉強会
  • 開発

Rails: Timecopを使わなくても時間を止められた話

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

おたより発掘


CONTACT

TechRachoでは、パートナーシップをご検討いただける方からの
ご連絡をお待ちしております。ぜひお気軽にご意見・ご相談ください。