SpringBoot 集成Junit单元测试

这篇具有很好参考价值的文章主要介绍了SpringBoot 集成Junit单元测试。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

学习文章: https://www.cnblogs.com/ysocean/p/6889906.html

开发工具: IDEA 2022.1.4

目录

目录

1. 概述

 2. 实现步骤

        2.1 maven导入依赖

         2.2 随意代码演示(不推荐)

        2.3 规范代码演示(推荐)

3. Junit相关其他注解

4. 注意事项

5. 结语


1. 概述

        接触到Junit,应该是看别人Java代码有一个@Test注解开始。就百度了解下,从英文名看,是“测试”的意思。那么Java方法加入了注解@Test,则说明该方法可直接运行。

        之前写类,如果要测试的话,就在main()方法测试,如果该类方法过多,都写在main的话,要不停的去注释代码,写新的测试代码。那么使用Junit的话,则简便很多,直接加入@Test注解即可。

        观察效果,加入了注解后,方法行前面会有绿色的图标,点击图标,分别点击test()方法和main()方法,显示如下:

springboot启动junit测试,SpringBoot,junit,单元测试,spring boot

 springboot启动junit测试,SpringBoot,junit,单元测试,spring boot

springboot启动junit测试,SpringBoot,junit,单元测试,spring boot

        也就说,这个test()方法是可以直接运行了。

        需要注意的是,加入@Test注解的方法,声明必须是public void并且无参

 2. 实现步骤

        2.1 maven导入依赖

        <!-- 单元测试 -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>

         2.2 随意代码演示(不推荐)

        我在工具类中加入了main()和test()方法,用来测试getToken()方法,均可实现,但实际中不这么写,看自己随意。

public class JwtUtils {

    public static String SECRET= "1c2h3e4n5w6e7i8x9i0n";

    public static String getToken(Map<String, String> map){
        JWTCreator.Builder builder= JWT.create();
        map.forEach((k,v)->{
            builder.withClaim(k,v);
        });
        Calendar instance= Calendar.getInstance();
        instance.add(Calendar.HOUR, 2);  //默认2小时过期

        builder.withExpiresAt(instance.getTime());
        String token= builder.sign(Algorithm.HMAC256(SECRET));
        return token;
    }

    public static DecodedJWT verfy(String token){
        DecodedJWT decodedJWT= JWT.require(Algorithm.HMAC256(SECRET)).build().verify(token);
        return decodedJWT;
    }

    @Test
    public void test() {
        Map<String,String> map=new HashMap<>();
        map.put("username", "1107230602");
        map.put("password", "0246813579");
        String token= JwtUtils.getToken(map);
        System.out.print(token);
    }

    public static void main(String[] args) {
        Map<String,String> map=new HashMap<>();
        map.put("username", "1107230602");
        map.put("password", "0246813579");
        String token= JwtUtils.getToken(map);
        System.out.print(token);
    }
}

        2.3 规范代码演示(推荐)

在工程test目录下,如下路径,并创建测试类,一般以被测试目标类名+Test:

springboot启动junit测试,SpringBoot,junit,单元测试,spring bootspringboot启动junit测试,SpringBoot,junit,单元测试,spring boot

         此处注意,在类名那里,也有一个绿色图标,运行这个图标,则是把整个测试类的所有@Test方法都执行,只有点击方法那里的绿色图标,才是执行指定方法。

3. Junit相关其他注解

        以下代码源自: "https://www.cnblogs.com/ysocean/p/6889906.html" :

        通过以下代码,可以理清Junit相关注解的搭配使用.

public class JunitTest {
    public JunitTest() {
        System.out.println("构造函数");
    }
 
    @BeforeClass
    public static void beforeClass(){
        System.out.println("@BeforeClass");
    }
     
    @Before
    public void befor(){
        System.out.println("@Before");
    }
     
    @Test
    public void test(){
        System.out.println("@Test");
    }
     
    @Ignore
    public void ignore(){
        System.out.println("@Ignore");
    }
     
    @After
    public void after(){
        System.out.println("@After");
    }
     
    @AfterClass
    public static void afterClass(){
        System.out.println("@AfterClass");
    }
}
执行效果:
@BeforeClass
构造函数
@Before
@Test
@After
@AfterClass

4. 注意事项

        注意:编写测试类的原则: 

   ①测试方法上必须使用@Test进行修饰

        ②测试方法必须使用public void 进行修饰,不能带任何的参数

        ③新建一个源代码目录来存放我们的测试代码,即将测试代码和项目业务代码分开

        ④测试类所在的包名应该和被测试类所在的包名保持一致

        ⑤测试单元中的每个方法必须可以独立测试,测试方法间不能有任何的依赖

        ⑥测试类使用Test作为类名的后缀(不是必须)

        ⑦测试方法使用test作为方法名的前缀(不是必须)

5. 结语

        Junit 单元测试框架

        仅供参考.文章来源地址https://www.toymoban.com/news/detail-708255.html

到了这里,关于SpringBoot 集成Junit单元测试的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SpringBoot测试(Junit单元测试、MockMvc测试Http请求 )

    Java知识点总结:想看的可以从这里进入 2.13、测试 测试就是在开发过程中用来检测某一段代码的功能是否能正确执行,Spring Boot 项⽬创建时会默认单元测试框架 spring-boot-test,它Spring Test、JUnit等其他测试框架结合起来(JUnit 5、AssertJ、Hamcrest、Mockito、JSONassert、JsonPath、Spring

    2024年02月06日
    浏览(39)
  • SpringBoot2---单元测试(Junit5)(1)

    org.junit.vintage junit-vintage-engine test org.hamcrest hamcrest-core org.springframework.boot spring-boot-starter-test test 现在版本: @SpringBootTest class Boot05WebAdminApplicationTests { @Test void contextLoads() { } } 以前: @SpringBootTest + @RunWith(SpringRunner.class) SpringBoot整合Junit以后。 编写测试方法:@Test标注(注意需要

    2024年04月29日
    浏览(42)
  • SpringBoot单元测试--Mockito+Junit5框架使用

    作为程序员为了提前发现代码bug,优化代码; 通常我们写完某个功能模块代码后都需要写单元测试对代码块进行测试(特别是敏捷开发中);Java项目最常用的单元测试框架即为Junit(目前最新版本为Junit5),SpringBoot本身也整合了该框架。在写单元测试时代码块中的调到第三方接口方

    2024年02月02日
    浏览(45)
  • 静态方法 单元测试 springboot+mokito+junit5

    CodecUtils的方法是静态类,使用@InjectMocks不能有用,因为这个注解只能用于非静态的对象。 想要为静态方法写单元测试,可以使用Mockito.mockStatic(Class classToMock)方法,它可以返回一个MockedStatic对象,用于模拟静态方法的调用。 1.导入依赖 2.单元测试 可以参考如下地址,了解如何

    2024年04月25日
    浏览(45)
  • 13.Springboot整合junit5单元测试与生成单元测试覆盖率

    现在基本大公司都要求单元测试了,保证我们代码得质量,而我司更是要求覆盖率要达到60%以上,所以搞一下。 这里有两个方法: 1.使用maven自带得test,idea右侧maven模块执行项目下得test 2.使用cmd命令,在你的项目pom文件所在目录 ,打开cmd,执行如下: 结果如下:打开site文

    2024年02月16日
    浏览(36)
  • junit单元测试mock常用写法-springboot与springmvc

    做单元测试时候,经常会mock一些方法,得到期望的返回值,这里记录一下常见的public、private、static方法,以及设计到的内部调用的方法 这里采用maven,引入powermock即可 所有单元测试的测试类都继成BaseTest即可 (1)springboot的示例 (2)springmvc的示例 有如下类需要编写单元测

    2024年02月02日
    浏览(40)
  • SpringBoot 实战:JUnit5+MockMvc+Mockito 做好单元测试

    因为继承了 spring-boot-starter-parent ,所以我们依赖的 spring-boot-starter-test 不需要写具体的版本,可以直接集成父级的版本定义。其中, spring-boot-starter-web 是用于提供 REST API 的 web 容器, spring-boot-starter-test 可以提供各种测试框架的, spring-boot-maven-plugin 是将 SpringBoot 应用打包为

    2024年04月15日
    浏览(52)
  • 【SpringBoot】org.junit.runners.model.InvalidTestClassError 单元测试类报错(已解决)

    出现该报错是因为 @Test 注解的错误使用。 @Test 注解的正确使用 : 权限必须是public 不能有参数 返回值类型是void 本类的其他的使用了Test注解的方法返回值也必须是void 正确导包 import org.junit.Test 一般正确使用 @Test 下,就没有报错了。 但是,我们可以继续深入探讨。 SpringBo

    2024年02月01日
    浏览(41)
  • springboot项目使用Junit5 + mockito + jacoco 实现单元测试以及代码覆盖率检查

    在创建springboot项目时会默认添加spring-boot-starter-test依赖,其中已经包含了junit、mockito依赖,根据springboot版本的不同junit和mockito的版本也会有所不同 先说一下各自功能: junit只说一点,junt4和junit5的注解不同,使用方式略有差异,其他不赘述了,基本用法都懂。 mockito是mock的

    2023年04月23日
    浏览(55)
  • Spring Boot与微服务测试:JUnit和Mockito的单元和集成测试实践

    微服务架构的流行使得测试变得更为重要。在Spring Boot应用中,使用JUnit和Mockito进行单元和集成测试是一种常见的实践。本文将深入探讨如何利用这两个测试框架,确保Spring Boot微服务的可靠性和稳定性。 单元测试 1.1 JUnit简介 JUnit是Java中最为流行的单元测试框架之一,它提供

    2024年02月21日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包