spring-boot 速成(11) - 单元测试

一、添加依赖项:

testCompile ‘org.springframework.boot:spring-boot-starter-test:1.5.2.RELEASE‘

二、单元测试代码示例

import cn.mwee.winpos.cloud.admin.service.demo.DemoServiceProvider;
import cn.mwee.winpos.cloud.admin.service.demo.impl.HealthCheckServiceImpl;
import cn.mwee.winpos.cloud.admin.service.dto.common.DataResult;
import cn.mwee.winpos.cloud.admin.service.dto.common.PingResponse;
import cn.mwee.winpos.common.utils.json.JsonUtil;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.ActiveProfiles;
import org.springframework.test.context.junit4.SpringRunner;

/**
 * Created by 菩提树下的杨过 on 13/08/2017.
 */
@RunWith(SpringRunner.class)
@SpringBootTest(classes = DemoServiceProvider.class,
        webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@ActiveProfiles("test")
public class DemoServiceTests {

    Logger log = LoggerFactory.getLogger(DemoServiceTests.class);

    @Autowired
    HealthCheckServiceImpl healthCheckService;

    @Autowired
    JsonUtil jsonUtil;

    @Test
    public void ping() {
        DataResult<PingResponse> data = healthCheckService.ping();
        log.info(jsonUtil.format(jsonUtil.toJson(data)));
    }

}

注意一下,最上面几个注解的写法,网上很多文章的示例都是低版本的注解,在1.4版本以后,有些注解已经废弃,高版本的spring-boot,请参考上面的正确写法。如果想切换profile,比如:想切换到dev环境 ,把@ActiveProfiles("test") 里面的test改成dev即可;另外@SpringBootTest(classes = DemoServiceProvider.class...)这里的classes,指SpringBootApplication主程序对应的类,大家根据自己的实际类名进行替换,并非测试类本身。

时间: 2024-08-06 01:07:46

spring-boot 速成(11) - 单元测试的相关文章

Spring Boot Rest控制器单元测试

Spring Boot提供了一种为Rest Controller文件编写单元测试的简便方法.在SpringJUnit4ClassRunner和MockMvc的帮助下,可以创建一个Web应用程序上下文来为Rest Controller文件编写单元测试.单元测试应该写在src/test/java目录下,用于编写测试的类路径资源应该放在src/test/resources目录下.对于编写单元测试,需要在构建配置文件中添加Spring Boot Starter Test依赖项,如下所示. <depend

Spring Boot教程11——计划任务

从Spring3.1开始,计划任务在Spring中的实现变得异常的简单.首先通过在配置类注解@EnableScheduling来开启对计划任务的支持,然后在要执行计划任务的方法上注解@Scheduled声明这是一个计划任务. Spring通过@Scheduled支持多种类型的计划任务,包含cron.fixDelay.fixRatedeng. 示例 1>.计划任务执行类 package com.wisely.highlight_spring4.ch3.taskscheduler; import j

【maven】【spring boot】【单元测试】 使用controller 执行单元测试类

存在这样一个场景: 当项目启动时间过长,又没办法缩短的时候,写单元测试就是一个十分耗时的工作, 这工作不在于使用编写代码,而在于每次run junit test 都需要完整启动一次项目,白白浪费宝贵的生命. 当由于某个字段没有赋值,或者某个简单判断写错,导致需要再等个3-5分钟启动 junit test,是否会想要执行一次san check? 于是乎: 假若能使用controller来调用test类方法的话,那么在本地调试单元测试时,对于一些简单的代码修改,通过热部署,只需要重新进行一次url访

最全spring boot视频系列,你值得拥有

================================== 从零开始学Spring Boot视频 ================================== àSpringBoot视频 http://study.163.com/course/introduction.htm?courseId=1004329008&utm_campaign=commission&utm_source=400000000155061&utm_medium=share [截止到201

Spring Boot入门教程大纲

Spring Boot教程之Spring基础 Spring Boot教程1--Spring概述 Spring Boot教程2--Spring项目快速搭建 Spring Boot教程3--Spring基础配置 Spring Boot教程之Spring常用配置 Spring Boot教程4--@Scope注解 Spring Boot教程5--Spring EL-Spring表达式语言 Spring Boot教程6--Bean的初始化和销毁 Spring Boot教程7--Profile Spring

笔记:Spring Boot 项目构建与解析

构建 Maven 项目 通过官方的 Spring Initializr 工具来产生基础项目,访问 http://start.spring.io/ ,如下图所示,该页面提供了以Maven构建Spring Boot 项目的功能. 选择构建工具 Maven Project,Spring Boot 版本选择 1.5.4,填写 Group 和 Artifact 信息,在Search for dependencies 中可以搜索需要的其他依赖包,这里我们需要实现 RESTful API,所以可以添加 Web

Spring Boot 前后端开发系统 视频教程

第1章 Spring Boot 简介 1-1 Spring Boot 博客_课程导学 1-2 Spring Boot 是什么第2章 开启 Spring Boot 的第一个 Web 项目 2-1 -初始化第一个Web项目 2-2 -用Gradle编译项目 2-3 -探索项目第3章 一个Hello World项目 3-1 编写项目构建信息 3-2 自定义存储库,加速构建 3-3 编写程序代码及测试用例 3-4 配置Wrapper,运行程序第4章 开发环境的搭建 4.1-4.2 IDE及插件的安装配置

Spring Boot带前后端 渐进式开发企业级博客系统

第1章 Spring Boot 简介   1-1 Spring Boot 博客_课程导学   1-2 Spring Boot 是什么第2章 开启 Spring Boot 的第一个 Web 项目   2-1 -初始化第一个Web项目    2-2 -用Gradle编译项目   2-3 -探索项目第3章 一个Hello World项目   3-1 编写项目构建信息    3-2 自定义存储库,加速构建   3-3 编写程序代码及测试用例    3-4 配置Wrapper,运行程序第4章 开发环境的搭

spring boot aop打印http请求回复日志包含请求体

一.引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>