当前位置: 代码网 > it编程>编程语言>Java > SpringBoot单元测试解读

SpringBoot单元测试解读

2025年02月18日 Java 我要评论
springboot提供一系列基于junit5的测试工具方便测试1.导入springboot项目默认自动导入该依赖 <dependency> <g

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);
    }

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com