本案例基于 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解释:
相关推荐
"基于springboot框架的网上商城系统的设计与实现.zip"是一个压缩文件,它通常包含了一套完整的网上商城系统的源代码及相关资源。这个系统是基于Spring Boot框架开发的,Spring Boot是一个开源的Java基础框架,它简化...
使用了 Spring - Test 与Junit 编写单元测试代码;使用了 Restful 设计风格,以 AJAX 发送 PUT 与 DELETE 类型请求;采用了双端校验,前端校验 JQuery,后端校验符合 JSR303 规范 基于BootStrap和SpringBoot的学生...
该项目集成了MyBatis-Plus、Druid数据源、Junit测试以及Swagger文档,实现了前后端分离的设计模式。项目正在不断完善中,已具备基础功能框架。 文件构成: - Java源文件:11个,包含了核心业务逻辑和控制器代码。 -...
- 测试框架:JUnit - 加密:BCrypt加密 ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子...
使用了 Spring - Test 与Junit 编写单元测试代码;使用了 Restful 设计风格,以 AJAX 发送 PUT 与 DELETE 类型请求;采用了双端校验,前端校验 JQuery,后端校验符合 JSR303 规范 教务系统管理系统 教务管理系统 ...
"基于springboot的二手车交易系统的设计与实现.zip"是一个软件项目文件包,通常包含了实现一个基于Spring Boot框架的二手车交易平台所需的所有源代码、资源文件、配置文件以及可能的数据库脚本。在压缩包中,你可以...
类极客头条资讯网站 项目基于Maven、 Spring Boot和MySQL数据库搭建后台框架,持久层框架使用MyBatis,使用Junit进行项目的测试工作。设计并实现注册登录,资讯,消息,踩赞等模块。
2. 熟悉Spring、SpringMvc、Mybatis、SpringBoot等主流框架,有基于SSM开发项目的经验 3. 熟悉MySQL的数据库操作,了解基本的MySql数据库优化 4. 熟悉redis、了解Oracle、MongoDB等数据库 5. 熟悉Junit、Debug进行...
SpringTest它是针对Junit单元测试的整合。让我们在开发中以及开发后期进行测试时,直接使用Junit结合spring一起测试。 本套课程中,我们将全面剖析Spring和SpringMVC两个部分。从应用场景分析,到基本用法的入门...
旅馆客房管理系统 ...spring-boot-starter-test:提供适用于 Spring Boot 的测试框架,如 JUnit、Hamcrest、Mockito Bootstrap 使用 Bootstrap 作为前端界面框架,支持响应式网页设计;同时使用 jQuery 简化 JavaSc
后端:Java8 / springboot2 / JPA(Java ORM标准),Querydsl(查询框架),DBCP / Spring安全性,OAUTH2 / Spirng测试,JUnit测试 前端:Bootstrap,Javascript,JQuery,Mustache(服务器模板引擎) 生成工具:...
b.2单元测试springmvc控制器 b.2.1模拟对象 b.2.2断言modelandview的内容 b.3使用spring进行综合测试 b.3.1测试装配后的对象 b.3.2综合测试事务处理对象 b.3.3测试数据库 b.3.4使用gienahtesting在junit4中...
HRS(酒店预订系统)-2020-SEⅡ本项目为NJUSE软件工程课程与计算Ⅱ课程项目,项目成员DQJ,CSH,LJL,XYX。项目的主要目的是运用软件工程过程的相关...Web服务器中间层程序Mybatis:java持久层框架Junit:代码测试技术
显示所有存储的字符串 删除存储的字符串之一 编辑存储的字符串之一##使用的技术: 构建:Maven Web 服务框架:Spring Boot 服务认证:Spring Security OAuth2 MongoDB 接口:Spring Boot Starter Data MongoDB 测试:...