만일 테스트를 실행할 때마다 어떤 랜덤 값을 사용하거나, 테스트가 실행되는 타이밍에 따라 달라지는 조건이 있을 때 테스트를 여러번 반복적으로 실행해서 검증하는 방법도 좋은 방법입니다.
이런 경우 아주 간단하게 테스트를 반복할 수 있습니다.
@DisplayName("반복 테스트")
@RepeatedTest(10) //...1
void repeat_test() {
System.out.println("test");
}
@RepeatedTest(10) 로 설정을 하고 실행을 하면 총 10번의 테스트가 반복됩니다.

이 때 기본 이름으로 repetition {currentRepetition} of {totalRepetitions} 가 적용됩니다.

@DisplayName("10번 반복 테스트 2")
@RepeatedTest(value = 10, name = "{displayName}, {currentRepetition}/{totalRepetitions}") //...1
void repeat_test_2(RepetitionInfo repetitionInfo) {
//...2
System.out.println("test " + repetitionInfo.getCurrentRepetition() + "/" + repetitionInfo.getTotalRepetitions());
}
@RepeatedTest 의 인자로 반복 횟수와 반복 테스트 이름을 설정할 수 있습니다.
value property
name property
실행 결과

RepetitionInfo 타입의 인자를 받을 수 있습니다.
repetitionInfo 타입 인자를 통해서 몇 번째 반복을 하고 있는지 또는 현재 총 몇 번을 반복해야하는지 정보를 받을 수 있습니다.

테스트에 여러 다른 매개변수를 대입해가며 반복 실행합니다.
JUnit 5 에서는 기본적으로 지원하는 기능입니다. JUnit 4 에서는 서드파티 라이브러리를 사용해야 가능했던 기능입니다.