我有一套複雜的PHPUnit測試,其中一些涉及連接到世界各地的服務器,無論出於何種原因,有時會超時。PHPUnit - 自動重試失敗的測試X次?
當服務器超時時,我不想讓測試失敗,我想在實際標記爲失敗之前重試該測試一次或多次。
現在,我明白這可能不是處理我手邊情況的最佳方法。一個更好的解決方案是修復服務器。但是,這現在不在我的掌控之中。
因此,我真正喜歡的是告訴PHPUnit重新測試每個失敗的測試用例X次,並且只有在每次失敗時纔將其標記爲失敗。
任何想法?
編輯:你們中的很多人都回復了有用的建議,我不是做到這一點。我明白,謝謝。但是,我正在嘗試創建一個測試套件,用於測試包括遠程服務器在內的系統的運行情況。我理解用外部「模擬」響應測試代碼的某些部分的概念,但如果我的部分測試測試「完整堆棧」,我的夜晚也會睡得更好。
根據你的編輯:1.當你說「它不是你的主人」時,你說「它不是你的系統的一部分」。因此,你不應該把它包含在你的測試中,因爲你無法影響它,它會僞造結果。 2.你永遠不會創建一個測試'$ this-> assertEquals(1,rand(0,1))',你會嗎?當你包含不確定的外部系統時,會發生這種情況。 – KingCrunch