概要
Timecop gemで日付をモックする
詳細
利用法
・Timecop.freezeで現在日時を任意の時間で固定にする
・Timecop.travelで現在日時を任意の時間にセットした後に、時間が動き出す
サンプルコード
# encoding: utf-8 require 'tbpgr_utils' require 'timecop' Timecop.freeze(Time.local(2014, 4, 1)) sleep 1 bulk_puts_eval binding, <<-EOS Date.today Time.now DateTime.now EOS Timecop.travel(Time.local(2014, 4, 1)) sleep 1 bulk_puts_eval binding, <<-EOS Date.today Time.now DateTime.now EOS __END__ 下記はTbpgrUtils gemの機能 bulk_puts_eval attr_accessor_init https://rubygems.org/gems/tbpgr_utils https://github.com/tbpgr/tbpgr_utils
出力
Date.today # => #<Date: 2014-04-01 ((2456749j,0s,0n),+0s,2299161j)> Time.now # => 2014-04-01 00:00:00 +0900 DateTime.now # => #<DateTime: 2014-04-01T00:00:00+09:00 ((2456748j,54000s,0n),+32400s,2299161j)> Date.today # => #<Date: 2014-04-01 ((2456749j,0s,0n),+0s,2299161j)> Time.now # => 2014-04-01 00:00:01 +0900 DateTime.now # => #<DateTime: 2014-04-01T00:00:01+09:00 ((2456748j,54001s,37103176n),+32400s,2299161j)>