Seb*_*n S 5 java unit-testing junit5
是否可以在具有固定执行顺序的其他一些测试之间执行多个嵌套测试?
例如
@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;
}
}
Run Code Online (Sandbox Code Playgroud)
我知道,单元测试通常应该是无状态的,但是在这种情况下,如果我可以以固定顺序重用状态,我可以节省大量执行时间。
否。嵌套类中的测试总是在封闭类中的测试之后执行。这是无法改变的。
测试方法的排序仅适用于单个测试类中的方法。
| 归档时间: |
|
| 查看次数: |
1619 次 |
| 最近记录: |