我正在使用JUnit5进行集成测试,我有一个用例需要在同一类中重复运行测试,但是我想保持原始测试顺序。是否有方法可以在JUnit5中实现这一点?
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
public class TestExample {
final int nrOfIterations = 3;
@Order(1)
@DisplayName("One")
@RepeatedTest(value = nrOfIterations, name = RepeatedTest.LONG_DISPLAY_NAME)
void repeatedTestWithRepetitionInfo(RepetitionInfo repetitionInfo) {
System.out.println("One #" + (repetitionInfo.getCurrentRepetition()-1));
assertEquals(3, repetitionInfo.getTotalRepetitions());
}
@Order(2)
@DisplayName("Two")
@RepeatedTest(value = nrOfIterations, name = RepeatedTest.LONG_DISPLAY_NAME)
void repeatedTestWithRepetitionInfoCont(RepetitionInfo repetitionInfo) {
System.out.println("two #" + (repetitionInfo.getCurrentRepetition()-1));
assertEquals(3, repetitionInfo.getTotalRepetitions());
}
}
这将输出:
One #0
One #1
One #2
two #0
two #1
two #2
And I want to get:
One #0
two #0
One #1
two #1
One #2
two #2