ユニットテストに時限爆弾を作らないためのベストプラクティス | freee Developers Hub
要約 時限爆弾的なテストとは、テスト内で扱う日時(レコードのregistered_atなどの属性値やスタブの値)にハードコードされた日時文字列( ‘2024-07-15’ など)を使うことで、時間経過により失敗するようになるテストのこと。 基本原則: ❌ ‘2024-07-15’ のようなハードコードされた日時文字列を書かない(エッジケース除く) ✅ 通常のテスト: Time.current、1.week.ago など テスト実行時を基準とした相対日時 を使う ✅ 日時依存ロジック: travel_to で テスト実行時の「今日」を特定の日付に固定 し、テストデータの日時もTime.zone.…
元の記事を確認する