详解SpringBoot之添加单元测试

发布时间 - 2026-01-11 02:26:13    点击率:

本文介绍了详解SpringBoot之添加单元测试,分享给大家,希望此文章对各位有所帮助

在SpringBoot里添加单元测试是非常简单的一件事,我们只需要添加SpringBoot单元测试的依赖jar,然后再添加两个注解就可搞定了。

首先我们来添加单元测试所需要的jar

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

接着我们写了一个单元测试的demo

package com.zkn.learnspringboot.service.test; 
 
import com.zkn.learnspringboot.FirstExample; 
import com.zkn.learnspringboot.service.PersonService; 
import org.junit.Test; 
import org.junit.runner.RunWith; 
import org.springframework.beans.factory.annotation.Autowired; 
import org.springframework.boot.test.context.SpringBootTest; 
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; 
 
/** 
 * Created by wb-zhangkenan on 2016/11/18. 
 */ 
@RunWith(SpringJUnit4ClassRunner.class) 
@SpringBootTest(classes = FirstExample.class) 
public class TestService extends BaseTestService{ 
  @Autowired 
  private PersonService personService; 
  @Test 
  public void testSys() { 
    System.out.println(personService.getPersonDomain().toString()); 
  } 
 
} 

然后我们run一下,一个单元测试就搞定了。

另外:@RunWith和@SprintBootTest这两个注解上都有@Inherited这个注解,所以我们可以定义一个单元测的父类,然后所有的单元测试类继承这个父类就行了。如下所示:

package com.zkn.learnspringboot.service.test; 
 
import com.zkn.learnspringboot.FirstExample; 
import org.junit.runner.RunWith; 
import org.springframework.boot.test.context.SpringBootTest; 
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; 
 
/** 
 * Created by zkn on 2016/11/20. 
 */ 
@RunWith(SpringJUnit4ClassRunner.class) 
@SpringBootTest(classes = FirstExample.class) 
public class BaseTestService { 
 
} 
package com.zkn.learnspringboot.service.test; 
 
import com.zkn.learnspringboot.service.PersonService; 
import org.junit.Test; 
import org.springframework.beans.factory.annotation.Autowired; 
 
/** 
 * Created by wb-zhangkenan on 2016/11/18. 
 */ 
 
public class TestService extends BaseTestService{ 
  @Autowired 
  private PersonService personService; 
  @Test 
  public void testSys() { 
    System.out.println(personService.getPersonDomain().toString()); 
  } 
 
} 

如果你用的SpringBoot是1.4.0之前的话,所用的注解稍有不同。你需要把@SpringBootTest注解换成@SpringApplicationConfiguration和@WebAppConfiguration。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# SpringBoot  # 单元测试  # 添加单元测试  # springboot使用单元测试实战  # SpringBoot2种单元测试方法解析  # springboot单元测试两种方法实例详解  # SpringBootTest单元测试报错的解决方案  # Springboot单元测试无法读取配置文件的解决方案  # Springboot项目中单元测试时注入bean失败的解决方案  # Springboot项目编写测试单元完整步骤记录  # 搞定了  # 都有  # 我们可以  # 这两个  # 给大家  # 然后再  # 一件事  # 写了  # 就可  # 只需要  # 所示  # 你用  # 所需要  # 稍有  # 大家多多  # 就行了  # junit  # demo  # java 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 消息称 OpenAI 正研发的神秘硬件设备或为智能笔,富士康代工  智能起名网站制作软件有哪些,制作logo的软件?  如何在阿里云高效完成企业建站全流程?  php在windows下怎么调试_phpwindows环境调试操作说明【操作】  Laravel路由怎么定义_Laravel核心路由系统完全入门指南  如何彻底删除建站之星生成的Banner?  移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?  laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法  Laravel如何实现全文搜索功能?(Scout和Algolia示例)  javascript日期怎么处理_如何格式化输出  Laravel用户密码怎么加密_Laravel Hash门面使用教程  Laravel怎么调用外部API_Laravel Http Client客户端使用  北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?  Laravel 419 page expired怎么解决_Laravel CSRF令牌过期处理  Laravel API路由如何设计_Laravel构建RESTful API的路由最佳实践  Linux安全能力提升路径_长期防护思维说明【指导】  如何用PHP快速搭建高效网站?分步指南  Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例  Android Socket接口实现即时通讯实例代码  Laravel请求验证怎么写_Laravel Validator自定义表单验证规则教程  如何彻底卸载建站之星软件?  详解jQuery中基本的动画方法  html5的keygen标签为什么废弃_替代方案说明【解答】  Laravel如何清理系统缓存命令_Laravel清除路由配置及视图缓存的方法【总结】  微信推文制作网站有哪些,怎么做微信推文,急?  Laravel如何实现数据导出到PDF_Laravel使用snappy生成网页快照PDF【方案】  Chrome浏览器标签页分组怎么用_谷歌浏览器整理标签页技巧【效率】  中山网站推广排名,中山信息港登录入口?  Laravel辅助函数有哪些_Laravel Helpers常用助手函数大全  Edge浏览器怎么启用睡眠标签页_节省电脑内存占用优化技巧  如何自定义建站之星模板颜色并下载新样式?  html5源代码发行怎么设置权限_访问权限控制方法与实践【指南】  HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】  如何快速生成橙子建站落地页链接?  公司网站制作需要多少钱,找人做公司网站需要多少钱?  如何在腾讯云服务器上快速搭建个人网站?  Python正则表达式进阶教程_复杂匹配与分组替换解析  php8.4header发送头信息失败怎么办_php8.4header函数问题解决【解答】  html5audio标签播放结束怎么触发事件_onended回调方法【教程】  如何在Windows服务器上快速搭建网站?  北京专业网站制作设计师招聘,北京白云观官方网站?  移动端脚本框架Hammer.js  Laravel如何创建自定义中间件?(Middleware代码示例)  免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?  Laravel如何使用查询构建器?(Query Builder高级用法)  千库网官网入口推荐 千库网设计创意平台入口  北京网站制作公司哪家好一点,北京租房网站有哪些?  Laravel如何使用软删除(Soft Deletes)功能_Eloquent软删除与数据恢复方法  如何用好域名打造高点击率的自主建站?  Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】