대규모 테스트 스위트에서 시간에 민감한 작업으로 인해 드물게 발생하는 테스트 실패를 처리하려고 하면 실망스러울 수 있습니다. 좋은 소식은 TestRule을 구현하여 실패한 테스트를 재시도할 수 있다는 것입니다.
TestRule을 사용하면 테스트 실행을 제어할 수 있습니다. RetryRule을 생성하려면 다음과 같이 클래스를 정의하세요.
<code class="java">public class RetryTest { public class RetryRule implements TestRule { ... public Statement apply(Statement base, Description description) { ... } ... } }</code>
적용 메서드에서 제공된 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>
사용자 정의 TestRunner:
또는 BlockJUnit4ClassRunner를 확장하고 runChild()를 재정의하여 재시도 메커니즘을 구현하는 사용자 정의 TestRunner를 생성할 수 있습니다.
참고:
위 내용은 실패한 JUnit 테스트를 즉시 재시도하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!