SpringBoot单元测试

SpringBoot提供一系列基于JUnit5的测试工具方便测试

1.导入

SpringBoot项目默认自动导入该依赖

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

默认创建的测试类

@SpringBootTest
//有这个注解才能使用SpringBoot容器bean
//没有此注解就是普通JUnit5
class SpringSecurityApplicationTests {

    @Test
    void contextLoads() {
    }

}

2.使用

@SpringBootTest
class SpringBootTestsApplicationTests {

    @Resource//注入IOC中的bean
    PersonProperty person;

    @Test//测试方法
    void contextLoads() {
        System.out.println(person);
    }

    @BeforeEach//每个测试方法开始前
    void beforeEach(){
        System.out.println("每个测试方法开始前");
    }

    @AfterEach//每个测试方法结束后
    void afterEach(){
        System.out.println("每个测试方法结束后");
    }

    @BeforeAll//测试开始
    static void beforeAll(){
        System.out.println("测试开始");
    }

    @AfterAll//测试结束
    static void afterAll(){
        System.out.println("测试结束");
    }
}

3.断言使用(Assertions类)

    @Test
    void checkResult(){
        Integer age = person.getAge();
        Assertions.assertEquals(18,age);
    }

4.参数化测试

    @ParameterizedTest
    @ValueSource(strings = {"ab","cd","ef"})
    void test1(String param){
        System.out.println(param);
    }

    @ParameterizedTest
    @MethodSource("paramForTest2")
    void test2(Map<String,String> param){
        System.out.println(param);
    }
    static Stream<Map<String,String>> paramForTest2(){
        Map<String,String> map1 = Map.of("a","a1","b","b1");
        Map<String,String> map2 = Map.of("a","a2","b","b2");
        return Stream.of(map1,map2);
    }

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值