首页 > 其他分享 >@NullSource 注解

@NullSource 注解

时间:2023-08-24 21:36:54浏览次数:39  
标签:NullSource param jupiter 参数 注解 null

自动化测试过程中,需要验证某些特殊场景时,需要传空或者传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());
    }
}

 

标签:NullSource,param,jupiter,参数,注解,null
From: https://www.cnblogs.com/ixtao/p/17655189.html

相关文章

  • 超时处理@Timeout注解
    importorg.junit.jupiter.api.BeforeEach;importorg.junit.jupiter.api.Test;importorg.junit.jupiter.api.Timeout;importstaticjava.lang.Thread.sleep;classTimeoutExampleTest{@Test@Timeout(7)voidtimeoutDemo1()throwsInterruptedExceptio......
  • @Value注解读取yml中的map/list配置
    读取map1、配置文件写法common:map:'{"username":"lisi","password":"123456"}'2、java代码的写法@Value("#{${common.map}}")privateMap<String,Object>map;读取list1、配置文件写法common:list:1,2,32、ja......
  • 支持多数据源联合查询的SQL运行引擎sycnany-SQL使用类型注解和类型转换
    使用介绍安装和配置使用自定义函数sycnany-SQL作为SQL运行引擎并不需要提前定义Schema信息,而且很多数据源本身就是无Schema信息的,例如NoSQL数据库MongoDB,所以从数据源查询数据和运行计算默认直接使用输入数据的类型完成查询和计算,此时查询数据或执行计算可能因数据类型不匹配产......
  • 常用注解_Tableld注解
                 ......
  • 常用注解_TableName注解
       ......
  • lombok注解
    @NoArgsConstructor和@AllArgsConstrutor注解是lombok插件生成不同构造方法的注解,来完成项目中不同构造方法的需求。@NoArgsConstructor:生成一个无参数的构造方法@AllArgsContructor:生成一个包含所有参数的构造方法......
  • SpringMVC执行流程注解版
    下面是SpringMVC执行流程的注解版:存在的问题:·1.web.xml文件需要存在(不然Tomcat(log->GBK编码)的War包构建不成功,部署会失败).2.spring和springmvc需要加载bean会有冲突的问题,可以统一管理Bean等WebInit(代替web.xml)//代替web.xmlpublicclassWebInitextends......
  • Lombok 常用注解·····
    ​ Lombok是一个Java库,它提供了一组注解,可以帮助开发人员简化Java代码。以下是Lombok常用的注解:importlombok.*;importlombok.extern.slf4j.Slf4j;/***@Auther:TianWei_18811580953*@Date:2023/8/23-08-23-9:36*@Description:com.jjj.da*@ve......
  • 注解
    1.元注解@Target说明修饰对象范围@Retention:定义该注解被保留的时间长短,SOURCE源文件保留,CLASSclass文件保留,RUNTIME运行时保留@Documented:描述javadoc@Inherited:阐述了某个被标注的类型是被继承的2.注解处理TestProvider注解@Target(ElementType.FIELD)......
  • SpringBoot复习:(40)@EnableConofigurationProperties注解的用法
    一、配置文件:server.port=9123二、配置类:packagecn.edu.tju.config;importcom.mysql.fabric.Server;importorg.springframework.boot.autoconfigure.web.ServerProperties;importorg.springframework.boot.context.properties.EnableConfigurationProperties;importorg.......