>  기사  >  Java  >  실패한 JUnit 테스트를 즉시 재시도하는 방법은 무엇입니까?

실패한 JUnit 테스트를 즉시 재시도하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-11-02 04:55:02947검색

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>

적용 메서드에서 제공된 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>

기타 옵션

사용자 정의 TestRunner:

또는 BlockJUnit4ClassRunner를 확장하고 runChild()를 재정의하여 재시도 메커니즘을 구현하는 사용자 정의 TestRunner를 생성할 수 있습니다.

참고:

  • RetryRule은 다음을 허용합니다. 재시도 횟수를 지정할 수 있지만 사용자 정의 TestRunner는 그렇지 않습니다.
  • 또한 주석을 사용하여 재시도 논리를 선택적으로 적용할 수도 있습니다.

위 내용은 실패한 JUnit 테스트를 즉시 재시도하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.