4、前置条件(assumptions)
JUnit 5 中的前置条件(assumptions【假设】)类似于断言,不同之处在于不满足的断言会使得测试方法失败,而不满足的前置条件只会使得测试方法的执行终止。前置条件可以看成是测试方法执行的前提,当该前提不满足时,就没有继续执行的必要。
测试类中
@Test
@DisplayName("前置条件")
void testAssumptions(){
Assumptions.assumeFalse(1>0);
}
如果条件满足就继续,不满足就终止执行。不会失败
5、嵌套测试
JUnit 5 可以通过 Java 中的内部类和@Nested 注解实现嵌套测试,从而可以更好的把相关的测试方法组织在一起。在内部类中可以使用@BeforeEach 和@AfterEach 注解,而且嵌套的层次没有限制。
@DisplayName("嵌套测试 内层可以调动外层,外层不能调动内层")
class TestingAStackDemo {
Stack<Object> stack;
@Test
@DisplayName("创建一个新对象")
void isInstantiatedWithNew() {
new Stack<>();
}
/**
* 第一个嵌套类,在执行里面的方法时会调动外面的方法创建对象
*/
@Nested
@DisplayName("第一个嵌套类")
class WhenNew {