`

SpringBoot 框架下基于 Junit 的单元测试

阅读更多

本案例基于  spring boot 1.5.1 junit4.1

转载:http://blog.csdn.net/tengxing007/article/details/73332038  稍作修改

 

前言

Junit是一个Java语言的单元测试框架,被开发者用于实施对应用程序的单元测试,加快程序编制速度,同时提高编码的质量。是一个在发展,现在已经到junit5,在javaEE开发中与很多框架相集成,使得开发者很方便。
这里写图片描述

Junit常用注解:

  • @Before:初始化方法
  • @After:释放资源
  • @Test:测试方法,在这里可以测试期望异常和超时时间
  • @Ignore:忽略的测试方法
  • @BeforeClass:针对所有测试,只执行一次,且必须为static void
  • @AfterClass:针对所有测试,只执行一次,且必须为static void
  • @RunWith:指定使用的单元测试执行类

Junit测试用例执行顺序:

@BeforeClass ==> @Before ==> @Test ==> @After ==> @AfterClass
过程:就是先加载模拟的环境,再进行测试

测试准备

依赖版本(不同版本存在一些差异)

  • junit 4.12
  • spring-test 4.3.6
  • spring-boot-test 1.5.1

添加依赖(必须)

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

 

编辑器(非必须)

IntellijIDEA

测试代码

测试代码如下:

import cn.yjxxclub.springboot.entity.Member;
import cn.yjxxclub.springboot.mapper.MemberMapper;
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.boot.test.web.client.TestRestTemplate;
import org.springframework.test.context.junit4.SpringRunner;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * Author: 遇见小星
 * Email: tengxing7452@163.com
 * Date: 17-6-16
 * Time: 下午12:18
 * Describe: member应用测试类
 */
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public class MemberTest {

    /**
     * Spring RestTemplate的便利替代。你可以获取一个普通的或发送基本HTTP认证(使用用户名和密码)的模板
     * 这里不使用
     */
    @Autowired
    private TestRestTemplate testRestTemplate;

    @Autowired
    MemberMapper memberMapper;


    /**
     * 2017-06-16 14:08:09.884  INFO 13803 --- [           main] com.alibaba.druid.pool.DruidDataSource   : {dataSource-1} inited
     size:5
     -----测试完毕-------
     2017-06-16 14:08:09.955  INFO 13803 --- [       Thread-4] ationConfigEmbeddedWebApplicationContext : Closing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@fd07cbb: startup date [Fri Jun 16 14:08:04 CST 2017]; root of context hierarchy
     */
    @Test
    public void test(){
        Map<String,Object> map = new HashMap();
        map.put("start",0);
        map.put("size",8);
        List<Member> list = memberMapper.list(map);
        System.out.println("size:"+list.size());
        System.out.println("-----测试完毕-------");

    }
}

 

代码说明

  • @RunWith 是junit提供的,前言已经说了
  • SpringRunner是spring-test提供的测试执行单元类(SpringJUnit4ClassRunner的新名字)
    这里写图片描述
  • @SpringBootTest is saying “bootstrap with Spring Boot’s support”,类似springboot程序的测试引导入口
    具体请看spring.io解释:
    这里写图片描述

 

分享到:
评论

相关推荐

    Junit 单元测试完整案例

    1. Junit简介:Junit是一款开源的、基于Java的测试框架,由Ernst Leifer和Kent Beck创建。它支持注解驱动的测试,让编写和运行测试变得极其便捷。 2. 注解使用:`@Test`注解用于标记测试方法,`@Before`和`@After`...

    基于Springboot+Junit+Mockito做单元测试的示例

    Springboot框架提供了强大的单元测试支持,包括自动配置测试环境、MockMvc等。使用Springboot可以快速地编写单元测试代码。 三、Junit单元测试 Junit是一个流行的单元测试框架,提供了丰富的断言方法和测试Runner...

    基于Springboot+Mybatis打造接口自动化测试框架-全网最新最全最具技术含量的接口自动化测试及框架编写

    在构建一个基于Springboot+Mybatis的接口自动化测试框架时,我们需要深入了解这两个核心技术和接口测试的基本原理。Springboot以其简洁的配置和快速的开发能力,成为现代Java Web应用的首选框架,而Mybatis则提供了...

    27. Spring Boot Junit单元测试【从零开始学Spring Boot】

    在Java世界里,JUnit是最常用的单元测试框架,它提供了一套简洁的API来编写和运行测试用例。 Spring Boot提供了对JUnit的内置支持,使得我们能够方便地对Spring组件进行测试。首先,我们需要在项目的`pom.xml`或`...

    springboot +tkmybatis + generator+单元测试.zip

    JUnit 是Java中最流行的单元测试框架,它允许开发者编写和执行针对代码单元的测试用例,确保代码的质量和功能正确性。在SpringBoot项目中,JUnit与Mockito等工具结合,可以有效地对服务层、DAO层进行单元测试。 6....

    基于SpringBoot和JUnit的接口自动化测试及Cat2Bug平台提交设计源码

    本项目是一款基于SpringBoot框架和JUnit进行单元测试的接口自动化测试系统,集成了Cat2Bug平台提交功能。项目源码共计107个文件,涵盖80个Java源文件、9个PNG图片、4个XML配置、3个FTL模板、2个Markdown文档、2个...

    手写SpringBoot框架

    SpringBoot框架是Java开发中的一个热门工具,它简化了创建独立、生产级别的基于Spring的应用程序。这个"手写SpringBoot框架"项目旨在帮助开发者深入理解SpringBoot的工作原理,通过阅读其底层源码并尝试自己实现,...

    springboot框架写的一个问卷项目

    - 单元测试:使用 JUnit 和 Mockito 进行单元测试,确保代码逻辑正确。 - 整合测试:通过 Spring Boot 的 TestRestTemplate 或 WebClient 进行 RESTful API 的集成测试。 综上所述,这个问卷项目利用了 ...

    基于Java SpringBoot框架开发的抽奖游戏后台.zip

    SpringBoot支持JUnit和Mockito等测试框架,可以进行单元测试和集成测试,确保代码的正确性和稳定性。 总的来说,这个基于Java SpringBoot框架的抽奖游戏后台项目,不仅涵盖了SpringBoot的基本使用,还涉及数据库...

    简单SpringBoot框架

    9. **单元测试与集成测试**:SpringBoot支持JUnit和Mockito等工具进行单元测试,`src/test`目录下通常会包含测试类,用于验证应用功能的正确性。 10. **Docker化部署**:SpringBoot应用可以被打包为可执行的JAR或...

    springboot demo and junit

    JUnit是Java编程语言的一个单元测试框架,用于确保代码的正确性。 描述中的“增删改查+分页基本功能”说明了这个项目可能包含了一个基本的CRUD(创建、读取、更新、删除)操作实现,并且集成了分页功能。在Spring ...

    基于JAVA学籍管理系统毕业设计SpringBoot框架Vue框架.zip

    这是一个基于Java技术的学籍管理系统毕业设计项目,采用了SpringBoot框架和Vue.js前端框架。SpringBoot简化了Spring应用的初始搭建以及开发过程,而Vue.js则是一个轻量级的前端JavaScript框架,以其易用性、高效性和...

    基于springboot框架的企业合同管理系统设计与实现.zip

    在测试方面,可以使用JUnit进行单元测试,Mockito模拟协作对象,确保单个组件的正确性。而集成测试则可以借助Spring Boot Test模块,验证系统整体行为。 总的来说,基于SpringBoot框架的企业合同管理系统设计与实现...

    基于springboot框架的捐赠管理系统

    单元测试和集成测试也是必不可少的,JUnit和Mockito等工具可以帮助开发者编写测试用例,保证代码质量。 总结来说,基于SpringBoot框架的捐赠管理系统,通过整合各种技术,实现了捐赠者从注册登录到物资捐赠的全流程...

    springboot_junit.zip

    在实际使用中,我们可以通过SpringBoot的`@RunWith(SpringRunner.class)`注解,将JUnit测试与SpringBoot的测试支持结合起来。这样,测试类可以利用Spring的依赖注入,直接注入需要测试的服务或组件。同时,JUnit的...

    SpringBoot-Junit

    5. **TestNG与JUnit的对比**:虽然这个项目主要基于JUnit,但理解TestNG也是一个补充。TestNG提供了更高级的功能,如并发测试、测试套件的分组和优先级,以及更丰富的异常处理。 6. **Test Profiles**:Spring Boot...

    基于java(springboot框架)的新闻管理系统 开题报告.zip

    本项目旨在开发一个基于Java的新闻管理系统,采用现代化的SpringBoot框架进行构建,以提高系统的灵活性、可维护性和可扩展性。新闻管理系统的核心目标是实现新闻的发布、管理、检索和展示功能,同时提供用户管理、...

    基于SpringBoot框架的旅游系统旅游网设计.zip

    8. **Junit测试** - 测试类,用于单元测试和集成测试。 在SpringBoot框架下,旅游系统的实现可能包括以下几个主要模块: 1. **用户模块** - 用户注册、登录、个人信息管理等功能。 2. **旅游信息模块** - 展示旅游...

    Spring Boot 单元测试和集成测试实现详解

    本文详细介绍了 Spring Boot 中的单元测试和集成测试的实现细节,包括使用 JUnit 和 Hamcrest 框架来进行单元测试,以及使用@SpringBootTest 注解来标记集成测试。这对于学习 Spring Boot 和测试有重要参考价值。

    Springboot整合junit过程解析

    JUnit 是一个流行的 Java 单元测试框架,而 SpringBoot 是一个基于 Java 的 Web 应用程序框架。今天,我们将讨论如何将 JUnit 与 SpringBoot 进行整合,以便更好地进行单元测试。 首先,让我们看一下 SpringBoot ...

Global site tag (gtag.js) - Google Analytics