目录

  • `SpringBoot` 项目进行单元测试
    • `Maven` 依赖
    • 测试代码
      • 测试代码一
      • 测试代码二
  • `junit 4` 和 `junit 5` 对比

SpringBoot 项目进行单元测试

版本说明:使用的 SpringBoot 版本是 2.0.9.RELEASE,它默认集成的是 junit 4.12

Maven 依赖

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

测试代码

测试代码一

@RunWith(value = SpringJUnit4ClassRunner.class)
@SpringBootTest
public class AppTest {@Autowiredprivate UserService userService;@Testpublic void shouldAnswerWithTrue() {List<AuthAndRoleDTO> authAndRoleDTOS = userService.selectAuthAndRole("Tom");authAndRoleDTOS.forEach(item -> {System.out.println(item.getAuthCode());System.out.println(item.getAuthName());});}
}
  • 也可以使用注解 @RunWith(value = SpringRunner.class) 替代 @RunWith(value = SpringJUnit4ClassRunner.class),二者继承关系如下
public final class SpringRunner extends SpringJUnit4ClassRunner {public SpringRunner(Class<?> clazz) throws InitializationError {super(clazz);}
}

测试代码二

@RunWith(SpringRunner.class)
@WebMvcTest
public class DeptController3Test {@Autowiredprivate DeptController deptController;@Testpublic void fun(){System.out.println(deptController);}
}
  • @SpringBootTest:告诉 SpringBoot 去寻找一个主配置类(例如带有@SpringBootApplication 的配置类),并使用它来启动 Spring 应用程序上下文。该注解会试图去寻找所有可能存在的 bean
  • @RunWith:会为我们构造一个 Servlet 容器运行环境,并在此环境下测试
  • @WebMvcTest:主要用于 Controller 层的测试,只覆盖应用程序的 Controller 层,HTTP 请求和响应是模拟出来的,不会创建真正的连接

junit 4junit 5 对比

junit4 junit5 特点
@Test @Test 声明一个测试方法
@BeforeClass @BeforeAll 在当前类的所有测试方法之前执行。注解在 静态方法 上
@AfterClass @AfterAll 在当前类中的所有测试方法之后执行。注解在 静态方法 上
@Before @BeforeEach 在每个测试方法之前执行。注解在 非静态方法 上
@After @AfterEach 在每个测试方法之后执行。注解在 非静态方法

SpringBoot项目进行单元测试相关推荐

  1. 关于springboot项目(@SpringBootTest单元测试类)找不到配置文件问题

    配置类需要以下注解 @Component: 说明该类为配置类 @ConfigurationProperties(prefix = "test"): 用于获取配置文件内容,也可以使用 ...

  2. springboot项目编写单元测试_SpringBoot项目单元测试(示例代码)

    前一段时间,有朋友问到springboot运用如何进行单元测试,结合LZ公司的实际运用,这里给大家描述一下三种单元测试的方式. 1.约定 单元测试代码写在src/test/java目录下 单元测试类命 ...

  3. springboot项目打jar包跳过单元测试test

    springboot项目打jar包跳过单元测试test 直接使用maven命令 mvn -B clean package -Dmaven.test.skip=true

  4. VS中怎样对C#项目进行单元测试

    场景 SpringBoot+Junit在IDEA中实现查询数据库的单元测试: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/927 ...

  5. bean加载context idea_02-基于IDEA创建SpringBoot项目并进行入门分析

    SpringBoot 项目创建 创建Module 基于IDEA创建项目Module,模块名为04-springboot-start,组id和包名为com.cy,如图所示: 填写module信息,如图所 ...

  6. java 单元测试_在springboot中写单元测试解决依赖注入和执行后事务回滚问题

    往期文章 「Java并发编程」谈谈Java中的内存模型JMM 面试官:说说你知道多少种线程池拒绝策略 为什么不要在MySQL中使用UTF-8编码方式 前言 很多公司都有写单元测试的硬性要求,在提交代码 ...

  7. 使用IDEA创建SpringBoot项目

    使用IDEA创建SpringBoot项目 新建项目 打开IDEA,创建新项目,选择Spring Initializr 输入Artifact 勾选Web 点击finish完成 删除多余 进入项目,可以将 ...

  8. springboot项目中mybatis实现数据的基本查询

    SpringBoot项目中mybatis实现数据的基本查询 本章内容概述: mapper 查询 xml 文件基本使用 通过 mybatis 实现一条数据的查询 1 用户数据表 2 用户信息对应的实体类 ...

  9. springboot 事务嵌套问题_在springboot中写单元测试解决依赖注入和执行后事务回滚问题...

    往期文章 「Java并发编程」谈谈Java中的内存模型JMM 面试官:说说你知道多少种线程池拒绝策略 为什么不要在MySQL中使用UTF-8编码方式 前言 很多公司都有写单元测试的硬性要求,在提交代码 ...

  10. boot sprint 项目结构_完美起航-【知识】SpringBoot项目结构目录

    Spring boot 目录结构 一.主要目录 目录名称相对路径主要用途源码目录src\main\java存储源码 资源目录src\main\resources存储静态资源.动态页面.配置文件 测试目 ...

最新文章

  1. 为什么说Lucene不好
  2. 岩板铺地好吗_威廉顿岩板1200x2700x9mm,上墙铺地非常好看大气
  3. 微软雅黑的应用[补充中]
  4. 报表工具流行度以及对linux的支持情况调研
  5. Java网络编程从入门到精通(21):HTTP消息的格式
  6. c语言中有关main的问题,c语言小问题
  7. Linux入门学习(十一)
  8. java调python报错Cannot create PyString with non-byte value
  9. 第二轮冲刺-Runner站立会议06
  10. 老生常谈的一个问题,转行学习编程,是自学还是报班
  11. 重启VirtualBox里面的系统提示VT-x features locked or unavailable in MSR错误
  12. 如何使用 DefaultServlet DefaultServletHttpRequestHandler 来处理静态资源
  13. 靠播放业务吃不饱?音乐流媒体纷纷“加电商”卖周边
  14. 彻底讲明白浅拷贝与深拷贝
  15. BFS+模拟 ZOJ 3865 Superbot
  16. 淘宝装修:1920全屏海报(源代码免费下载)
  17. linux qq传文件怎么安装,在Ubuntu Linux下怎样安装QQ
  18. Python爬取码市项目
  19. Vue集成百度的Ueditor的前后端实现
  20. 获取手机存储卡路径的一种方法

热门文章

  1. StarUML Choice控件写上文字Text
  2. 算法:回溯十七 Combination Sum III挑选数组中规定个数元素的和为指定数
  3. 算法:Majority Element(求众数)
  4. 整数与IP地址间的转换
  5. docker制作python项目镜像
  6. MIMO-OTFS in High-Doppler Fading Channels:Signal Detection and Channel Estimation(4)
  7. 公式推导 11-20
  8. Db2干净卸载Linux,在Linux/Aix环境下完全卸载DB2
  9. 中调用view_在 View 上使用挂起函数
  10. 语言模型总结(待完善)