【Java】【SpringBoot】CP02:单元测试

简介: 【Java】【SpringBoot】CP02:单元测试

This article is written by Xrilang(Chinese Name:萌狼蓝天

If you want find me ,You can contact me in BiliBili . My Bilibili name is 萌狼蓝天

Of course, you can also add my QQ(My QQ number is: 3447902411)

(Please note that your sole purpose of adding me is limited to technical exchange. I won't help you with your homework!)


萌狼蓝天 - 博客园 | 萌狼工作室 - 萌狼蓝天 (mllt.cc) | 萌狼蓝天の技术栈 | Welcome !

在实际开发中,每当完成一个功能接口或业务方法的编写后,通常都会借助单元测试验证该功能是否正确。

Spring Boot 对项目的单元测试提供了很好的支持,在使用时,需要提前在项目的pom.xml文件中添加spring-boot-starter-test测试依赖启动器,可以通过相关注解实现单元

测试。

添加测试依赖启动器

注意:使用Spring Initiaizr方式搭建的Spring Boot项目会自动加入spring-boot-starter-test测试依赖启动器,无需开发者手动添加

q6.png

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

如果是自行添加,务必添加在dependencies范围内

<dependencies>
<!--在此处添加-->
</dependencies>

编写单元测试类和测试方法

单元测试类

q5.png

q4.png

/**
 * 使用Spring Initializr方式自动创建的主程序启动类对应的单元测试类
 */
@RunWith(SpringRunner.class) //测试运行器,并加载Spring Boot测试注解
@SpringBootTest //标记单元测试类,并加载项目的上下文环境ApplicationContext
class Edu02CreateMySpringBootProjectApplicationTests {
    //自动创建的单元测试方法示例
    @Test
    void contextLoads() {
    }
}

单元测试方法

q3.png

@Autowired //引入HelloController实例对象
    private HelloController helloController;
    @Test
    public void helloControllerTest(){ //新增的单元测试方法
        String hello = helloController.hello();//调用HelloController类中对应的请求控制方法hello()
        System.out.println(hello);//打印输出结果
    }
/**
 * 使用Spring Initializr方式自动创建的主程序启动类对应的单元测试类
 */
@RunWith(SpringRunner.class) //测试运行器,并加载Spring Boot测试注解
@SpringBootTest //标记单元测试类,并加载项目的上下文环境ApplicationContext
class Edu02CreateMySpringBootProjectApplicationTests {
    //自动创建的单元测试方法示例
    @Test
    void contextLoads() {
    }
    @Autowired //引入HelloController实例对象
    private HelloController helloController;
    @Test
    public void helloControllerTest(){ //新增的单元测试方法
        String hello = helloController.hello();//调用HelloController类中对应的请求控制方法hello()
        System.out.println(hello);//打印输出结果
    }
}

运行测试 鼠标放在 helloControllerTest() 上右击运行

q2.png

q1.png


相关文章
|
26天前
|
Java 测试技术 开发者
必学!Spring Boot 单元测试、Mock 与 TestContainer 的高效使用技巧
【10月更文挑战第18天】 在现代软件开发中,单元测试是保证代码质量的重要手段。Spring Boot提供了强大的测试支持,使得编写和运行测试变得更加简单和高效。本文将深入探讨Spring Boot的单元测试、Mock技术以及TestContainer的高效使用技巧,帮助开发者提升测试效率和代码质量。
136 2
|
1月前
|
JavaScript 前端开发 Java
解决跨域问题大集合:vue-cli项目 和 java/springboot(6种方式) 两端解决(完美解决)
这篇文章详细介绍了如何在前端Vue项目和后端Spring Boot项目中通过多种方式解决跨域问题。
342 1
解决跨域问题大集合:vue-cli项目 和 java/springboot(6种方式) 两端解决(完美解决)
|
16天前
|
Java 测试技术 Maven
Java一分钟之-PowerMock:静态方法与私有方法测试
通过本文的详细介绍,您可以使用PowerMock轻松地测试Java代码中的静态方法和私有方法。PowerMock通过扩展Mockito,提供了强大的功能,帮助开发者在复杂的测试场景中保持高效和准确的单元测试。希望本文对您的Java单元测试有所帮助。
32 2
|
17天前
|
监控 前端开发 Java
Java SpringBoot –性能分析与调优
Java SpringBoot –性能分析与调优
|
20天前
|
JavaScript Java 项目管理
Java毕设学习 基于SpringBoot + Vue 的医院管理系统 持续给大家寻找Java毕设学习项目(附源码)
基于SpringBoot + Vue的医院管理系统,涵盖医院、患者、挂号、药物、检查、病床、排班管理和数据分析等功能。开发工具为IDEA和HBuilder X,环境需配置jdk8、Node.js14、MySQL8。文末提供源码下载链接。
|
24天前
|
Java 程序员 测试技术
Java|让 JUnit4 测试类自动注入 logger 和被测 Service
本文介绍如何通过自定义 IDEA 的 JUnit4 Test Class 模板,实现生成测试类时自动注入 logger 和被测 Service。
22 5
|
25天前
|
JSON Java Maven
实现Java Spring Boot FCM推送教程
本指南介绍了如何在Spring Boot项目中集成Firebase云消息服务(FCM),包括创建项目、添加依赖、配置服务账户密钥、编写推送服务类以及发送消息等步骤,帮助开发者快速实现推送通知功能。
61 2
|
29天前
|
存储 人工智能 Java
将 Spring AI 与 LLM 结合使用以生成 Java 测试
AIDocumentLibraryChat 项目通过 GitHub URL 为指定的 Java 类生成测试代码,支持 granite-code 和 deepseek-coder-v2 模型。项目包括控制器、服务和配置,能处理源代码解析、依赖加载及测试代码生成,旨在评估 LLM 对开发测试的支持能力。
36 1
|
23天前
|
缓存 Java 程序员
Java|SpringBoot 项目开发时,让 FreeMarker 文件编辑后自动更新
在开发过程中,FreeMarker 文件编辑后,每次都需要重启应用才能看到效果,效率非常低下。通过一些配置后,可以让它们免重启自动更新。
24 0
|
Java 应用服务中间件 Maven
传统maven项目和现在spring boot项目的区别
Spring Boot:传统 Web 项目与采用 Spring Boot 项目区别
489 0
传统maven项目和现在spring boot项目的区别