项目太大,不好直接测整个项目,一般都是切割成多个单元,单独测试,即单元测试。

直接在原项目上测试,会把项目改得乱七八糟的,一般是单独写测试代码。

进行单元测试,这就需要集成JUnit。


(1)在pom.xml中添加JUnit的依赖

        <!--JUnit的起步依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<!--指定作用域为test,此依赖只在test时起作用-->
<scope>test</scope>
</dependency>

使用骨架、Spring Initializr创建项目时,往往自动导入了Junit的依赖,看一下pom.xml中有没有,没有就导入。

注意要设置<scope>为test。


(2)在src/test/java中写单元测试

src/main/用来写项目,java放.java文件,resources放资源文件(根目录下放application.yml,static下放静态资源,templates下放模板引擎)。

src/test/用来写项目测试,java放单元测试,resources放资源文件。

把src/main/resources中的内容拷到src/test/resources,没有resources文件的就自己新建。

单元测试的类名一般是在原类名后加Test。

比如我要写com.chy.mapper.UserMapper的单元测试,在src/test/java下新建com.chy.mapper.UserMapperTest,包名保持一致,类名加Test。

@RunWith(SpringRunner.class)
@SpringBootTest(classes = App.class) //引导类的class对象
public class UserMapperTest {
@Autowired //自动注入要测试的类
private UserMapper userMapper; @Test
public void queryUserByIdTest(){
//测试该类中的方法
User user=userMapper.queryUserById(1);
System.out.println(user);
} }

把要测试的类写成成员变量,使用@Autowired注入。

要测该类中的哪个方法,就写一个对应的方法来测试,在方法上标注@Test。

方法名一般是原方法名+Test。如果只测试一个方法,常把方法名直接写成test。

点左边的三角进行测试。


有些方法需要注入一些值,把要注入的值写成成员变量,对象用@Autowired注入,基本类型用@Value直接注入值。

如果需要在测试方法执行前后做一些处理:

    @Before
public void before(){ } @Test
public void test(){ } @After
public void after(){ }

这个测试类中的所有测试方法都会执行前处理、后处理。


一般要保留测试代码,比如要测试queryUserById()、updateUserById(),是写对应的2个测试方法,不是先写queryUserById()来测试,测完就在这个方法的基础上改改,改成其他方法的测试,不是这样的。

同理,测试类都是在对应位置写、单独写,包也要保留,这些测试合起来就是整个项目的测试。

SpringBoot 集成JUnit的更多相关文章

  1. springboot集成junit测试与javamail测试遇到的问题

    1.springboot如何集成junit测试? 导入junit的jar包 使用下面注解: @RunWith()关于这个的解释看下这两篇文章: http://www.imooc.com/qadetai ...

  2. SpringBoot集成Junit

    1.在pom.xml下添加Junit依赖: <!--添加junit环境的jar包--> <dependency> <groupId>org.springframew ...

  3. springboot集成mybatis(二)

    上篇文章<springboot集成mybatis(一)>介绍了SpringBoot集成MyBatis注解版.本文还是使用上篇中的案例,咱们换个姿势来一遍^_^ 二.MyBatis配置版(X ...

  4. springboot集成mybatis(一)

    MyBatis简介 MyBatis本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation迁移到了google code,并且改名为MyB ...

  5. springboot集成redis(mybatis、分布式session)

    安装Redis请参考:<CentOS快速安装Redis> 一.springboot集成redis并实现DB与缓存同步 1.添加redis及数据库相关依赖(pom.xml) <depe ...

  6. Windows环境下springboot集成redis的安装与使用

    一,redis安装 首先我们需要下载Windows版本的redis压缩包地址如下: https://github.com/MicrosoftArchive/redis/releases 连接打开后如下 ...

  7. springboot集成elasticsearch

    在基础阶段学习ES一般是首先是 安装ES后借助 Kibana 来进行CURD 了解ES的使用: 在进阶阶段可以需要学习ES的底层原理,如何通过Version来实现乐观锁保证ES不出问题等核心原理: 第 ...

  8. Springboot的日志管理&Springboot整合Junit测试&Springboot中AOP的使用

    ==============Springboot的日志管理============= springboot无需引入日志的包,springboot默认已经依赖了slf4j.logback.log4j等日 ...

  9. SpringBoot集成Mybatis并具有分页功能PageHelper

    SpringBoot集成Mybatis并具有分页功能PageHelper   环境:IDEA编译工具   第一步:生成测试的数据库表和数据   SET FOREIGN_KEY_CHECKS=0;   ...

随机推荐

  1. Jmeter学习之-聚合报告详解

    在对接口进行性能测试时,经常用到jmeter的聚合报告来分析数据 首先在待测试的接口或线程组下添加“监听器>聚合报告” 执行请求后,将生成聚合报告,聚合报告包括以下结果参数(中文版+英文版) A ...

  2. Linux - 命令 - 查找命令总结

    关于查找文件的几个命令 一.find命令 find是最常用也是最强大的查找命令,可以查找任何类型的文件 find命令的一般格式: find <指定目录><指定条件><指定 ...

  3. vue中,怎么给data对象添加新的属性?(尼玛这面试题居然让我给碰上了。。。。)

    Vue中给data中的对象属性添加一个新的属性时会发生什么,如何解决? 示例: <template> <div> <ul> <li v-for="v ...

  4. 对于使用secureFX上传文件到centos7 的时候,以及不同的用户解压文件,对于文件操作权限的实验

    本以为以一个用户胡如root登录了SecureFx,之后选择了root的家目录下的一个software目录,之后上传 以root用户远程登录LINUX系统 查看文件 之后再验证普通用户zhaijh登录 ...

  5. JDK动态代理+反射实现动态修改注解属性值

    这是最近朋友的一个需求,正好闲来无聊有些时间,跟着研究一下,如有不正确的地方,欢迎大家指正~ 一.准备自定义注解 注:如何实现自定义注解,请移步百度. 二.实现 1.实现方式1:通过反射+动态代理动态 ...

  6. 自己写了一个mysql连接的工具类【java】

    要用的话,包名自己可以改一下: package com.usa3v.dreamcenter.util; import java.sql.Connection; import java.sql.Driv ...

  7. 6、Maven仓库

    在Maven的术语中,仓库是一个位置(place),例如目录,可以存储所有的工程.jar文件,library jar文件,插件或者任何其他的工程指定的文件 Maven仓库有三种类型 本地(local) ...

  8. 探讨LoadRunner的并发用户和集合点

    近来跟踪一个项目,发现同事们在执行性能测试时,比较热衷于使用集合点,从概念上认为要得到并发用户就必须设置集合点,认为在执行一个压力测试脚本时,设置了集合点才算是有效的并发用户,没有设置结合点,就认为可 ...

  9. VLAN配置Trunk接口

    实验二:配置Trunk接口. 实验原理: 实验内容: 本实验模拟某公司网络场景.公司规模较大,员工200余名,内部网络是-一个大的局域网.公司放置了多台接入交换机(如S1和S2)负责员工的网络接入.接 ...

  10. ubuntu安装与设置

    为学习Linux,在虚拟机中安装类ubuntu18.04,刚装完系统时间是不对的,系统中也没有gcc,g++. 关于安装软件无非就是: sudo apt-get install gcc sudo ap ...