【SpringBoot】SpringBoot单元测试

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

1、什么是单元测试?

单元测试(unit testing),是指对软件中的最小可测试单元(方法)进⾏检查和验证的过程就叫单元测试。

单元测试是开发者编写的⼀⼩段代码,⽤于检验被测代码的⼀个很小的、很明确的(代码)功能是否正确。执⾏单元测试就是为了证明某段代码的执⾏结果是否符合我们的预期。如果测试结果符合我们的预期,称之为测试通过,否则就是测试未通过(或者叫测试失败)

2、单元测试有哪些好处?

  1. 可以非常简单、直观、快速的测试某一个功能是否正确
  2. 使用单元测试可以帮我们在打包的时候,发现一些问题,因为在打包之前,所以的单元测试必须通过,否则不能打包成功
  3. 使用单元测试,在测试功能的时候,可以不污染连接的数据库,也就是可以不对数据库进行任何改变的情况下,测试功能

3、Spring Boot 单元测试使用

Spring Boot 项⽬创建时会默认单元测试框架 spring-boot-test,⽽这个单元测试框架主要是依靠另⼀个著名的测试框架 JUnit 实现的,打开 pom.xml 就可以看到,以下信息是 Spring Boot 项⽬创建是⾃动添加的:
【SpringBoot】SpringBoot单元测试

spring-boot-starter-testMANIFEST.MF(Manifest ⽂件是⽤来定义扩展或档案打包的相关信息的)⾥⾯有具体的说明,如下信息所示:
【SpringBoot】SpringBoot单元测试

3.1 单元测试的实现步骤

3.1.1 生成单元测试类

测试哪个类就在哪个类中生成:
【SpringBoot】SpringBoot单元测试
【SpringBoot】SpringBoot单元测试
【SpringBoot】SpringBoot单元测试
最终⽣成的代码:

package com.example.demo.mapper;

import org.junit.jupiter.api.Test;

import static org.junit.jupiter.api.Assertions.*;

class UserMapperTest {

    @Test
    void getUserById() {
    }
}

【SpringBoot】SpringBoot单元测试
这个时候,此⽅法是不能调⽤到任何单元测试的⽅法的,此类只⽣成了单元测试的框架类,具体的业务代码要⾃⼰填充。

3.1.2 添加单元测试代码

(1)配置单元测试的类添@SpringBootTest注解
【SpringBoot】SpringBoot单元测试
(2)添加单元测试的业务代码

package com.example.demo.mapper;

import com.example.demo.model.UserInfo;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import static org.junit.jupiter.api.Assertions.*;
//表示当前单元测试运行在SpringBoot环境中
@SpringBootTest
class UserMapperTest {
    //@Autowired         //科学版的idea此行代码会报错
    @Resource
    private UserMapper userMapper;
    @Test
    void getUserById() {
        UserInfo userInfo=userMapper.getUserById(1);
        Assertions.assertNotNull(userInfo);
    }
}

针对使用@Autowired 注解时,科学版的idea此行代码会报错解释:⬇️

结论:@Autowired 来自Spring, @Mapper 来自MyBaits,所以有可能出现不兼容的问题,解决方案是使用JDK提供的@Resource 来注入Mapper。

测试结果如下:
【SpringBoot】SpringBoot单元测试

4、简单的断言说明

【SpringBoot】SpringBoot单元测试文章来源地址https://www.toymoban.com/news/detail-416789.html

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

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

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

相关文章

  • springboot项目test单元测试java.lang.NullPointerException问题

    最近在测试写好mapper相关接口时是,出现空指针异常,所以记录一下。 在测试用户登录时,出现如下错误 测试方法 错误信息 通过分析日志了解到原因是 无法调用“AdminUserMapper.login(String, String)”,因为“this.adminUserMapper”为空 应该是AdminUserMapper没有注入进来,但是自己

    2024年02月02日
    浏览(82)
  • Maven 项目中为什么Junit之@Test 单元测试无法使用

    由于框架项目的使用,会有很多模块,所以Junit中的@Test注解是我们比较常用的注解,但是有些小问题我们需要注意 在创建完Maven项目后,我们通常呢会导入以下这样的依赖包: 但是我们这时候去代码中使用@Test,会出现报红,这是为什么呢?🤨 这里先说明下,org.junit是导入

    2024年02月02日
    浏览(53)
  • GO——单元测试(test)

    go test用来做什么 做单元测试,测试函数是否符合预期 go test在哪个包 testing 如何使用 参考: https://geektutu.com/post/quick-go-test.html 以 my_func.go 中的Add方法为例 在同一个文件夹下添加my_func_test.go文件 测试文件以_test.go为结尾 里面的测试方法以Test开头,但是不一定是要跟方法名,

    2024年01月20日
    浏览(48)
  • 仿真与测试:单元测试与Test Harness

    本文描述单元测试的概念,以及Test Harness建立的方法和简单的单元测试过程。 单元测试,简单来说就是在Simulink模型中只测试一小部分单元的功能。关于单元测试的概念网上有很多资料了,这里不再赘述。博主从实际工作经验的角度来谈谈单元测试的价值。 举个简单的例子,

    2024年02月04日
    浏览(47)
  • 使用Simulink Test进行单元测试

    本文摘要:主要介绍如何利用Simulink Test工具箱,对模型进行单元测试。内容包括,如何创建Test Harness模型,如何自动生成excel格式的测试用例模板来创建测试用例,如何手动填写excel格式的测试用例模板来手动创建测试用例。 单元测试的目的 创建完模型后,我们需要验证模型

    2024年02月16日
    浏览(41)
  • vitest单元测试配合@vue/test-utils之组件单元测试篇

    vitest 是由 vite 提供支持的极速单元测试框架,VueTestUtils 是 Vue.js 的官方测试实用程序库,vitest 本身是不支持单元组件测试的,需要配合 test-utils 来完成组件单元测试,安装与基本 API 就不再赘述,学会阅读文档与查找资料是一个程序员的基本功 demo 由一个组件和测试文件组成

    2024年03月16日
    浏览(52)
  • idea中用不了test单元测试插件

    这是因为你没有安装test相关的插件,我们需要下载一个插件,   首先打开idea--File--setting--plugins(如下图) 搜索Junit,然后安装第一个插件,重启应用即可使用。 注意:在实际程序应用中,我们输入@test后,还要Alt+Enter进行导包。 安装好插件后就可操作了,

    2024年02月12日
    浏览(41)
  • IDEA中 单元测试@Test的使用

    首先我在自己的module-zzz中有hamcrest-core-1.3.jar 和 Junit-4.12.jar两个包 ,并且可以正常使用test测试方法。要想在另外一个module-chapter01中正常使用test,则可以进行如下操作:第一步:File -- Project Structure -- Modules–Dependencies 第二步:点击右上角的+  第三步:点击JARs or directories…

    2024年02月07日
    浏览(49)
  • @Test单元测试注入bean 3种方式

    @ContextConfiguration Spring整合JUnit4测试时,使用注解引入多个配置文件 @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(classes = {CachingConfig.class}) 如下:     @Resource     private CacheManager cacheManager; 是CachingConfig的bean 在类上添加以下代码: 在执行test之前会先执行启动项目,后对象会

    2024年02月11日
    浏览(38)
  • 利用Simulink Test进行模型单元测试 - 1

    随手搭建了一个demo模型MilTestModel,模型中不带参数 1.模型空白处右击 测试框架 为‘MilTestModel’创建 菜单 2.在创建测试框架对话框中,点击OK,对应的测试框架MilTestMode_Harness1就自动打开了 1.在HARNESS标签下点击 Simulik Test Manager 2.在Simulink Test Manager中,点击New TestFile打开保存文

    2024年02月13日
    浏览(33)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包