【没】コントローラアクションでtimetravelするやつ
12/28追記
セッションが切れちゃうので何らかの対策を講じる必要がある
- 例: LIFETIMEを1000年くらいにする
参考: ミドルウェアでtimetravelするやつ
本格的
というかこれでいい これがいい
モチベーション
- 時刻が関わる機能の自動テストをつくりたい
- PHPだけのテストなら
Carbon::testNow()
を呼ぶだけ - E2Eテストの場合、外(ブラウザ)から現在時刻を設定する口を開ける必要がある
- PHPだけのテストなら
つくった
- なんやかんやで
Carbon::setTestNow()
を環境別にラップするだけになった- 認証・認可後に入るコントローラアクション内でのタイムトラベルなので、ログインが解けちゃったりすることを考えなくていい
- Laravelのタイムトラベリングがメインのはずだったのに、E2E自動テスト環境構築のほうが勉強になった説
- jest + puppeteerは前からやってた
- TypeScriptが加わった
振り返り
結論、良くない