通信した要素を挿入する場合などはエラーが起きていることに気付けません。テストをコケさせる要因デバッグ方法に加えて、不安定なテストになる要因を知っておけば未然に防ぐことや、そのようなテストを解消する際にかかる時間を短縮することができるはずです。不安定なテストの要因としてはだいたい次のどれかに当てはまるんじゃないかと思います。番目のリソースの内容を確認するようなテストがあったとします。ソートしている場合は結果が不定になります。等、必ず同じ結果になるようにソートしなければたまにコケるテストになってしまいます。していて自前でテーブルを管理している場合は問題になることがあります。テスト内容を工夫する必要があります。等をテストの実行前か実行後にクリアしないといけないのは容易簡単に想像が付くでしょうが、クラスインスタンス変数のメモ化などは曲者です。いう例外が投げられます。endend次のようなエラーメッセージが表示されるわけですが、一瞬何が起きてるのかわからないですよね。使用の是非は置いておいて、先ほどのテストを通すには例えば次のようにクラスインスタンス変数を削除する必要があります。次のように、「Update」ボタンを押した後にトップページにアクセスすると更新後の名前でメッセージが表示されることを確認するテストを考えます。処理されていれば良いのですが、そうでない場合はコケてしまいます。更新完了後に何かしらのメッセージを表示している場合、そのメッセージが表示されることを確認することでこの問題を解消することができます。したんですが、「このメソッドは内部向けだし、リクエストの完了をユーザが気付けるような内容を表示し、それの有無を確認すべき」みたいな返答をもらいました。teamcapybara/capybara次のような書き方をしないといけない場合、ユーザ体験として好ましくないってことですね。bar!")endテストを実行しているサーバの高負荷サーバの高負荷がテストの結果に影響を与えることもあります。いうエラーに頻繁に遭遇することがありました。ところでこのエラーが出ました。出たらリトライする処理を入れることにしました。試したところ再現しなかったので、どこかのタイミングで直ったのかもしれません。消えているというエラーメッセージです。作らないので、テスト内で定数を定義するとトップレベルに定義されます。実行している場合はこれによって結果が不安定になることはないですが、複数プロセスで分割実行する場合は、あるファイルと一緒に処理される時だけテストがコケるという謎の結果になります。