- Unit 5 中的前置条件(assumptions【假设】)类似于断言,不同之处在于不满足的断言assertions会使得测试方法失败,而不满足的前置条件只会使得测试方法的执行终止。
前置条件可以看成是测试方法执行的前提,当该前提不满足时,就没有继续执行的必要。 ```java @DisplayName(“前置条件”) public class AssumptionsTest { private final String environment = “DEV”;
@Test @DisplayName(“simple”) public void simpleAssume() {
assumeTrue(Objects.equals(this.environment, "DEV"));
assumeFalse(() -> Objects.equals(this.environment, "PROD"));
}
@Test @DisplayName(“assume then do”) public void assumeThenDo() {
assumingThat( Objects.equals(this.environment, "DEV"), () -> System.out.println("In DEV") );
} }
```
- assumeTrue 和 assumFalse 确保给定的条件为 true 或 false,不满足条件会使得测试执行终止。
- assumingThat 的参数是表示条件的布尔值和对应的 Executable 接口的实现对象。只有条件满足时,Executable 对象才会被执行;当条件不满足时,测试执行并不会终止。