嘗試處理由於大型測試套件中的時間敏感操作而導致的罕見測試失敗可能會令人沮喪。好消息是,您可以實作 TestRule 來重試失敗的測試。
TestRule 讓您可以控制測試執行。要建立RetryRule,請定義一個如下所示的類別:
<code class="java">public class RetryTest { public class RetryRule implements TestRule { ... public Statement apply(Statement base, Description description) { ... } ... } }</code>
在apply 方法中,使用提供的base.evaluate() 在測試呼叫周圍插入重試邏輯:
<code class="java">public Statement apply(Statement, Description) { return new Statement() { @Override public void evaluate() throws Throwable { ... for (int i = 0; i < retryCount; i++) { ... } ... } }; }</code>
使用以下規則註解您的測試類別:
<code class="java">... @Rule public Retry rule = new Retry(3); ...</code>
自訂estRunner:
自訂estRunner:或者,您可以建立一個自訂TestRunner 來擴充BlockJUnit4ClassRunner 並重寫runChild() 來實作重試機制。
注意:
以上是如何立即重試失敗的 JUnit 測試?的詳細內容。更多資訊請關注PHP中文網其他相關文章!