こんにちは、とまだです。 テスト自動化あるある言いたい by T-DASH Advent Calendar 2024、8日目の記事をお届けします! 皆さん、テストは書いていますか? 最近、テストの自動化を進めていく中で、時間に関するテストで思わぬハマりポイントがあることに気づきました。 今回は、時間にまつわるテストで遭遇しやすい問題と、その対策をご紹介します! 1. 現在時刻を使ったテストがコケる よくある問題 実行時の時刻に依存したテストは、以下のような問題を引き起こすことがあります。 テストの実行タイミングでコケる タイムゾーンが違う環境でコケる たまに処理に時間がかかった時にコケる 対策方法 現在時刻を固定値に置き換えましょう。 明示的に時刻を指定することで、テストの安定性が向上します。 # 良い例 it "1日後の期限でタスクが作成されること" do base_time = Tim