Возможно ли выполнить несколько вложенных тестов между другими тестами с фиксированным порядком выполнения?
* 1003 Е.Г. *
@TestInstance(Lifecycle.PER_CLASS)
@TestMethodOrder(OrderAnnotation.class)
class MyTest {
private State state = State.ZERO;
@Test
@Order(1)
public void step1() throws IOException {
state = State.ONE;
}
@Order(2) // sth like this, however this annotation isn't allowed here
@Nested
class WhileInStateOne {
@Test
public void step2a {
Assumptions.assumeTrue(state == State.ONE);
// test something
}
@Test
public void step2b {
Assumptions.assumeTrue(state == State.ONE);
// test something else
}
}
@Test
@Order(3)
public void step3() throws IOException {
state = State.THREE;
}
}
Я знаю, что модульные тесты, как правило, не должны содержать состояний, однако в этом случае я могу сэкономить много времени выполнения, если смогу повторно использовать состояние в фиксированном порядке.