嘗試處理由於大型測試套件中的時間敏感操作而導致的罕見測試失敗可能會令人沮喪。好消息是,您可以實作 TestRule 來重試失敗的測試。
TestRule 讓您可以控制測試執行。若要建立 RetryRule,請定義一個類,如下所示:
public class RetryTest {
public class RetryRule implements TestRule {
...
public Statement apply(Statement base, Description description) {
...
}
...
}
}
在 apply 方法中,使用提供的 base.evaluate() 在測試呼叫周圍插入重試邏輯:
public Statement apply(Statement, Description) {
return new Statement() {
@Override
public void evaluate() throws Throwable {
...
for (int i = 0; i 使用 RetryRule
使用以下規則註解您的測試類別:
...
@Rule
public Retry rule = new Retry(3);
...
其他選項
自訂 TestRunner:
或者,您可以建立一個擴展 BlockJUnit4ClassRunner 並覆蓋 runChild() 的自訂 TestRunner來實現
注意:
- RetryRule允許指定重試次數,而自訂TestRunner則不允許。
- 您也可以使用註解來選擇性地應用重試邏輯。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3