首頁  >  文章  >  Java  >  如何立即重試失敗的 JUnit 測試?

如何立即重試失敗的 JUnit 測試?

Linda Hamilton
Linda Hamilton原創
2024-11-02 04:55:02940瀏覽

How to Retry Failed JUnit Tests Instantly?

立即重試失敗的 JUnit 測試

嘗試處理由於大型測試套件中的時間敏感操作而導致的罕見測試失敗可能會令人沮喪。好消息是,您可以實作 TestRule 來重試失敗的測試。

建立 RetryRule

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>

使用RetryRule

使用以下規則註解您的測試類別:

<code class="java">...
@Rule
public Retry rule = new Retry(3);
...</code>

其他選項

自訂estRunner:

自訂estRunner:或者,您可以建立一個自訂TestRunner 來擴充BlockJUnit4ClassRunner 並重寫runChild() 來實作重試機制。

注意:

  • RetryRule 讓您可以指定重試次數,而自訂 TestRunner 則不會。
  • 您也可以使用註解來選擇性地應用重試邏輯。

以上是如何立即重試失敗的 JUnit 測試?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn