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

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

进行单元测试,这就需要集成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. 7-8 Left-pad

    思路 注意读入和输出格式 如果用fgets读入的话会带上回车,输出的时候一定不要输出了双回车 并且此时的length也会比原始长度多了一,要注意长度比较,这里容易出错 代码 #include < ...

  2. 安装Redis教程

    今天因为要用到redis中间件,于是自己就尝试安装一下,我把步骤记录了,分享给大家,希望能对大家有帮助! 我的博客地址: https://www.cnblogs.com/themysteryofhac ...

  3. 三大查找算法(Java实现)

    三大查找算法 1.二分查找(Binary Search) public class BinarySearch { public static void main(String[] args) { in ...

  4. 「JSOI2015」isomorphism

    「JSOI2015」isomorphism 传送门 我们还是考虑树哈希来判同构. 但是我们需要使用一些特殊的手段来特殊对待假节点. 由于是无向树,我们首先求出重心,然后以重心为根跑树哈希. 此处我们不 ...

  5. Jmeter 断言使用

    先说一下使用断言的目的:在request的返回层面增加一层判断机制.因为request成功了,并不代表结果一定正确.类似于QTP中的检查点检查点.断言的使用方法: step_1:在你选择的Sample ...

  6. ACM-ICPC实验室20.2.19测试-图论

    B.Harborfan的新年拜访Ⅱ 就是一道tarjan缩点的裸题. 建图比较麻烦 以后遇到这种建图,先用循环把样例实现出来,再对着循环写建图公式 #include<bits/stdc++.h& ...

  7. LoadLibrary与LoadLibraryEx

    参考了这个博客:https://blog.csdn.net/cuglifangzheng/article/details/50580279 以及这个博客:https://blog.csdn.net/z ...

  8. 操作Document文档

    利用客户端操作Document文档数据 1.创建一个文档(创建数据的过程,向表中去添加数据) 请求方式:Post 请求地址:es所在IP:9200/索引库/Type/文档ID(可给可不给,代表唯一标识 ...

  9. shell中遍历数组的几种方式

    #!/bin/bash arr=( '你好') length=${#arr} echo "长度为:$length" # for 遍历 for item in ${arr[*]} d ...

  10. 04-Docker-Container管理操作

    目录 04-Docker-Container管理操作 参考 容器运行须知 容器生命周期 容器管理命令 1. 生命周期 2. 查看操作 3. 命令执行 4. 文件复制 容器用途分类 04-Docker- ...