@NullSource 注解
自动化测试过程中,需要验证某些特殊场景时,需要传空或者传null
- null 参数的参数化注解 @NullSource 注解
- 参数为空的参数化注解 @EmptySource 注解
- 需要 null 和空都进行参数化,使用 @NullAndEmptySource 注解
- 还有其他参数可以用@ValueSource继续提供
import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.EmptySource; import org.junit.jupiter.params.provider.NullAndEmptySource; import org.junit.jupiter.params.provider.NullSource; import org.junit.jupiter.params.provider.ValueSource; import static org.junit.jupiter.api.Assertions.*; public class EmptyTest3{ @ParameterizedTest // @NullSource 注解表示使用null参数进行测试输入 @NullSource void testNullSource(String param) { // 断言入参为null System.out.println(param); assertNull(param); } @ParameterizedTest // @NullSource 注解表示使用null参数进行测试输入 @EmptySource void testEmptySource(String param) { // 断言入参为null assertTrue(param.isEmpty()); } @ParameterizedTest // @NullAndEmptySource 注解结合了 @EmptySource 与 @NullSource @NullAndEmptySource void testEmptyNullSource(String param) { // 断言参数是空的 assertTrue(param == null || param.isEmpty()); } @ParameterizedTest // @NullAndEmptySource 注解结合了 @EmptySource 与 @NullSource @NullAndEmptySource // 如果还有其他参数可以用@ValueSource继续提供 @ValueSource(strings = {""}) void testEmptyNullAndValueSource(String param) { // 断言参数是空的 assertTrue(param == null || param.isEmpty()); } }