私はPHPUnitテストの複雑なセットを持っています。その中には、何らかの理由でタイムアウトが発生することがある、世界中のサーバーに接続するものがあります。PHPUnit - 自動的に失敗したテストをX回再試行しますか?
サーバがタイムアウトしたときにテストに失敗するのではなく、単にそのテストを1回以上再試行してから、実際に失敗とマークします。
今、私の状況を把握するための最良の方法ではないことを理解しています。 1つのより良い解決策は、サーバーを修正することです。しかし、これは今私のコントロール外です。
PHPUnitに失敗したテストケースをX回再テストするように指示し、毎回失敗した場合にのみ失敗とマークする方法です。
アイデア?
編集:多くの方が、私がでなく、であるという有用な提案で回答しました。ご理解いただきありがとうございます。しかし、具体的には、フルシステム(リモートサーバーを含む)の動作をテストするテストスイートを作成することです。私はコードの特定の部分を外部からの模擬応答でテストするという概念を理解していますが、私のテストの一部が "完全なスタック"をテストするならば、夜間もよく眠ります。
「あなたのホストではない」と言うときは、「あなたのシステムの一部ではない」と言います。したがって、テストに含めるべきではありません。とにかく影響を与えることができず、結果を改ざんするからです。あなたはテスト '$ this-> assertEquals(1、rand(0,1))'を決して作成しませんでしたか?これは、不確実な外部システムが含まれている場合に起こります。 – KingCrunch