本案例基于 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解释:
相关推荐
1. Junit简介:Junit是一款开源的、基于Java的测试框架,由Ernst Leifer和Kent Beck创建。它支持注解驱动的测试,让编写和运行测试变得极其便捷。 2. 注解使用:`@Test`注解用于标记测试方法,`@Before`和`@After`...
Springboot框架提供了强大的单元测试支持,包括自动配置测试环境、MockMvc等。使用Springboot可以快速地编写单元测试代码。 三、Junit单元测试 Junit是一个流行的单元测试框架,提供了丰富的断言方法和测试Runner...
在构建一个基于Springboot+Mybatis的接口自动化测试框架时,我们需要深入了解这两个核心技术和接口测试的基本原理。Springboot以其简洁的配置和快速的开发能力,成为现代Java Web应用的首选框架,而Mybatis则提供了...
在Java世界里,JUnit是最常用的单元测试框架,它提供了一套简洁的API来编写和运行测试用例。 Spring Boot提供了对JUnit的内置支持,使得我们能够方便地对Spring组件进行测试。首先,我们需要在项目的`pom.xml`或`...
JUnit 是Java中最流行的单元测试框架,它允许开发者编写和执行针对代码单元的测试用例,确保代码的质量和功能正确性。在SpringBoot项目中,JUnit与Mockito等工具结合,可以有效地对服务层、DAO层进行单元测试。 6....
本项目是一款基于SpringBoot框架和JUnit进行单元测试的接口自动化测试系统,集成了Cat2Bug平台提交功能。项目源码共计107个文件,涵盖80个Java源文件、9个PNG图片、4个XML配置、3个FTL模板、2个Markdown文档、2个...
SpringBoot框架是Java开发中的一个热门工具,它简化了创建独立、生产级别的基于Spring的应用程序。这个"手写SpringBoot框架"项目旨在帮助开发者深入理解SpringBoot的工作原理,通过阅读其底层源码并尝试自己实现,...
SpringBoot支持JUnit和Mockito等测试框架,可以进行单元测试和集成测试,确保代码的正确性和稳定性。 总的来说,这个基于Java SpringBoot框架的抽奖游戏后台项目,不仅涵盖了SpringBoot的基本使用,还涉及数据库...
- 单元测试:使用 JUnit 和 Mockito 进行单元测试,确保代码逻辑正确。 - 整合测试:通过 Spring Boot 的 TestRestTemplate 或 WebClient 进行 RESTful API 的集成测试。 综上所述,这个问卷项目利用了 ...
9. **单元测试与集成测试**:SpringBoot支持JUnit和Mockito等工具进行单元测试,`src/test`目录下通常会包含测试类,用于验证应用功能的正确性。 10. **Docker化部署**:SpringBoot应用可以被打包为可执行的JAR或...
JUnit是Java编程语言的一个单元测试框架,用于确保代码的正确性。 描述中的“增删改查+分页基本功能”说明了这个项目可能包含了一个基本的CRUD(创建、读取、更新、删除)操作实现,并且集成了分页功能。在Spring ...
这是一个基于Java技术的学籍管理系统毕业设计项目,采用了SpringBoot框架和Vue.js前端框架。SpringBoot简化了Spring应用的初始搭建以及开发过程,而Vue.js则是一个轻量级的前端JavaScript框架,以其易用性、高效性和...
在测试方面,可以使用JUnit进行单元测试,Mockito模拟协作对象,确保单个组件的正确性。而集成测试则可以借助Spring Boot Test模块,验证系统整体行为。 总的来说,基于SpringBoot框架的企业合同管理系统设计与实现...
单元测试和集成测试也是必不可少的,JUnit和Mockito等工具可以帮助开发者编写测试用例,保证代码质量。 总结来说,基于SpringBoot框架的捐赠管理系统,通过整合各种技术,实现了捐赠者从注册登录到物资捐赠的全流程...
在实际使用中,我们可以通过SpringBoot的`@RunWith(SpringRunner.class)`注解,将JUnit测试与SpringBoot的测试支持结合起来。这样,测试类可以利用Spring的依赖注入,直接注入需要测试的服务或组件。同时,JUnit的...
5. **TestNG与JUnit的对比**:虽然这个项目主要基于JUnit,但理解TestNG也是一个补充。TestNG提供了更高级的功能,如并发测试、测试套件的分组和优先级,以及更丰富的异常处理。 6. **Test Profiles**:Spring Boot...
本项目旨在开发一个基于Java的新闻管理系统,采用现代化的SpringBoot框架进行构建,以提高系统的灵活性、可维护性和可扩展性。新闻管理系统的核心目标是实现新闻的发布、管理、检索和展示功能,同时提供用户管理、...
8. **Junit测试** - 测试类,用于单元测试和集成测试。 在SpringBoot框架下,旅游系统的实现可能包括以下几个主要模块: 1. **用户模块** - 用户注册、登录、个人信息管理等功能。 2. **旅游信息模块** - 展示旅游...
本文详细介绍了 Spring Boot 中的单元测试和集成测试的实现细节,包括使用 JUnit 和 Hamcrest 框架来进行单元测试,以及使用@SpringBootTest 注解来标记集成测试。这对于学习 Spring Boot 和测试有重要参考价值。
JUnit 是一个流行的 Java 单元测试框架,而 SpringBoot 是一个基于 Java 的 Web 应用程序框架。今天,我们将讨论如何将 JUnit 与 SpringBoot 进行整合,以便更好地进行单元测试。 首先,让我们看一下 SpringBoot ...