Carbon
を正しく使っているプロジェクトに限るけど、現在日時を指定してアプリケーションを動かせるプラグインを作った。
スタンドアロンのサーバ php artisan serve
を1999年7月31日として実行したい場合は以下のように環境変数で日付を指定できる。
$ LARAVEL_NOW=1999-7-31 php artisan serve
Carbon
がパースできる書式なら自由に指定できるので、日次バッチを昨日の日付で動かすこともできる。
# 昨日の日付として動作確認できる!
$ LARAVEL_NOW=yesterday php artisan app:daily-job
プラグインの中で Carbon::setTestNow()
でセットしているだけ。動作確認するときにソースコードを変更せずに外部から指定できるので少し便利になった。