单元测试-前置条件
# 580.单元测试-前置条件
JUnit 5 中的前置条件(assumptions【假设】)类似于断言,不同之处在于不满足的断言会使得测试方法失败,而不满足的前置条件只会使得测试方法的执行终止。
前置条件可以看成是测试方法执行的前提,当该前提不满足时,就没有继续执行的必要。
# assumeTrue
我们写个简单的案例:
package com.peterjxl.learnspringbootwebadmin;
import org.junit.jupiter.api.Assumptions;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
public class Junit5Assum {
@Test
@DisplayName("前置条件")
void testAssum() {
Assumptions.assumeTrue(false, "结果不为true");
System.out.println("如果前置条件不成立,本句话就不输出");
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
此时运行结果:
# assumingThat
assumingThat 的参数是表示条件的布尔值和对应的 Executable 接口的实现对象。只有条件满足时,Executable 对象才会被执行;当条件不满足时,测试执行并不会终止。
@Test
@DisplayName("assume then do")
public void assumeThenDo() {
String environment = "DEV";
Assumptions.assumingThat(
Objects.equals(environment, "DEV"),
() -> System.out.println("In DEV")
);
}
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
# 源码
已将本文源码上传到 Gitee (opens new window) 或 GitHub (opens new window) 的分支 demo19,读者可以通过切换分支来查看本文的示例代码
上次更新: 2024/10/3 10:01:52