spring boot 单元测试】的更多相关文章

Spring Boot单元测试(Mock) Java个人学习心得 2017-08-12 16:07 Mock 单元测试的重要性就不多说了,我这边的工程一般都是Spring Boot+Mybatis(详情可参看<Spring boot+MyBatis+PageHelper+JSON>),现在写一下Spring Boot下怎么测试Controller.Service. Controller测试 本文就简单一点,写一个Hello接口. Controller HTTP请求测试: 既然是测试Contro…
Spring 框架提供了一个专门的测试模块(spring-test),用于应用程序的单元测试. 在 Spring Boot 中,你可以通过spring-boot-starter-test启动器快速开启和使用它. 在pom.xml文件中引入maven依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artif…
Spring Boot 的测试类库 Spring Boot 提供了许多实用工具和注解来帮助测试应用程序,主要包括以下两个模块. spring-boot-test:支持测试的核心内容. spring-boot-test-autoconfigure:支持测试的自动化配置. 开发进行只要使用 spring-boot-starter-test 启动器就能引入这些 Spring Boot 测试模块,还能引入一些像 JUnit, AssertJ, Hamcrest 及其他一些有用的类库,具体如下所示. JU…
一.问题概述 spring boot项目.单元测试的时候,我发现,总是会使用application.properties的内容,而该文件里,一般是我的开发时候的配置. 比如上图中,dev是开发配置,production是生产环境的配置,test是测试环境的配置. 有时候,需要直接在某些环境上跑单元测试. 而默认的单元测试策略,总是使用了application.properties. 二.解决 在单元测试的类上,加上如下注解即可: 参考: http://dreamhack.it/spring/20…
关于Spring boot 之前没有用Spring的时候是用的MockMvc,做接口层的测试,原理上就是加载applicationContext.xml文件,然后模拟启动各种mybatis\连接池等等. 后来web工程改造成了Spring boot,首先发生变化的就是配置文件,原来的xml改成了proerties或者yml.另外,原来的http接口改成了dubbo,接口层的测试就更困难了. 所以单元测试改成了直接对service层的测试,即按照原来的模式,模拟启动applicationConte…
回顾并详细说明一下在在之前章节中的中使用的@Controller.@RestController.@RequestMapping注解.如果您对Spring MVC不熟悉并且还没有尝试过快速入门案例,建议先看一下之前的内容. 下面我们尝试使用Spring MVC来实现一组对User对象操作的RESTful API,配合注释详细说明在Spring MVC中如何映射HTTP请求.如何传参.如何编写单元测试. * RESTful API具体设计如下:* 请求类型 URL 功能说明 GET /users…
1. 创建测试类 打开IDEA,在任意类名,任意接口名上,按ctrl+shift+t选择Create New Test image 然后根据提示操作(默认即可),点击确认,就在项目的/test/java下的对应包里,生成了与类对应的测试类. 如果没有"Create New Test",请更新idea版本或者安装JUnitGenerator V2.0 1.1 安装JUnitGenerator V2.0 注意,本步骤是找不到那个"Create New Test",再做的…
Junit这种老技术,现在又拿出来说,不为别的,某种程度上来说,更是为了要说明它在项目中的重要性.凭本人的感觉和经验来说,在项目中完全按标准都写Junit用例覆盖大部分业务代码的,应该不会超过一半. 刚好前段时间写了一些关于SpringBoot的帖子,正好现在把Junit再拿出来从几个方面再说一下,也算是给一些新手参考了. 那么先简单说一下为什么要写测试用例1. 可以避免测试点的遗漏,为了更好的进行测试,可以提高测试效率2. 可以自动测试,可以在项目打包前进行测试校验3. 可以及时发现因为修改代…
1.依赖包 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> 2.在测试了添加注解 @RunWith(SpringRunner.class) @SpringBootTest 3.使用…
Java新手 纯记录 @RunWith(SpringJUnit4ClassRunner.class) @SpringBootTest(classes = OutDemoApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) @Slf4j public class ServiceTest extends TestCase { @Autowired private DemoService demoS…
1 报错描述 java.lang.IllegalStateException: Could not load TestContextBootstrapper [null]. Specify @BootstrapWith's 'value' attribute or make the default bootstrapper class available. ​ 2分析原因 spring-webmvc的版本应该与spring-test的版本不一致 ​ 3解决 ​ ​ 显示推荐内容…
博客地址:http://www.moonxy.com 一.前言 JUnit 是一个由 Java 语言编写的开源的回归测试(回归测试是指重复以前全部或部分的相同测试)框架,由Erich Gamma 和 Kent Beck 创建,用于编写和运行可重复的测试,它是用于单元测试框架体系 xUnit 的一个实例.所谓单元测试也就是白盒测试.JUnit 是 Java 开发使用最为广泛的框架.Spring Boot 在 JUnit 基础上提供了一些实用程序和注解,用来帮助我们测试应用程序. 二.JUnit 测…
可以关注微信公众号springboot或者可以加入 Spring Boot QQ交流群1:193341332 (群已满) Spring Boot QQ交流群2:193341364 微信公众号搜索springboot或者扫描以下二维码即可关注,您从中可以: 1.可以得到博客更新的通知: 2.在手机端可以利用碎片时间学习Spring Boot; 3.可以在公众号留言,博主看到会进行解答(如果问题复杂,可以提供邮箱): 4.之后,博主会推送一些Spring Boot的资讯或者优秀的Spring Boo…
之前在两篇文章中都有简单介绍或者提到过 自定义属性的用法: 25.Spring Boot使用自定义的properties[从零开始学Spring Boot] 51. spring boot属性文件之多环境配置[从零开始学Spring Boot] 但是在实际开发过程中有更复杂的需求,我们在对properties进一步的升华.在本篇博客中您将会学到如下知识(这节中有对之前的知识的温故,对之前的升华): (1) 在application.properties文件中添加自定义属性(单个属性使用): (2…
注意:本 Spring Boot 系列文章基于 Spring Boot 版本 v2.1.1.RELEASE 进行学习分析,版本不同可能会有细微差别. 前言 由于 J2EE 的开发变得笨重,繁多的配置,错乱的依赖管理,低下的开发效率,复杂的部署流程,第三方技术的集成难度较大等.同时随着复杂项目的演进,微服务分布式架构思想逐渐进入开发者的视野. 1. Spring Boot 介绍 Spring Boot 提供了一组工具只需要极少的配置就可以快速的构建并启动基于 Spring 的应用程序.解决了传统…
Spring Boot 简化了 Spring 应用开发,不需要配置就能运行 Spring 应用,Spring Boot 的自动配置是通过 Spring 4.x 的条件注解 @Conditional 来实现的,@Conditional 根据特定条件来控制 bean 的创建行为.Spring Boot 默认会使用内置的 Tomcat,并支持 Spring MVC.RESTful 服务.新建 Spring Boot 项目很简单,IntelliJ IDEA 在 New Project 中选择 Sprin…
================================== 从零开始学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 boot 它的设计目的就是为例简化开发,开启了各种自动装配,你不想写各种配置文件,引入相关的依赖就能迅速搭建起一个web工程. 开发环境 IDE:IDEAJDK:1.8MAVEN:3.X 快速构建 打开Idea-> new Project ->Spring Initializr ->填写group.artifact ->…
转载:http://blog.csdn.net/linxingliang/article/details/52013017 我们知道如果我们要在一个类使用spring提供的bean对象,我们需要把这个类注入到spring容器中,交给spring容器进行管理,但是在实际当中,我们往往会碰到在一个普通的Java类中,想直接使用spring提供的其他对象或者说有一些不需要交给spring管理,但是需要用到spring里的一些对象.如果这是spring框架的独立应用程序,我们通过 Application…
转载:http://blog.csdn.net/linxingliang/article/details/52069490 上一篇文章已经对定义Servlet 的方法进行了说明,过滤器(Filter)和 监听器(Listener)的注册方法和 Servlet 一样,不清楚的可以查看下上一篇文章(20): 本文将直接使用@WebFilter和@WebListener的方式,完成一个Filter 和一个 Listener:使用注解 @ServletComponentScan//这个就是扫描相应的Se…
[原创文章,转载请注明出处] 针对文章: ()Spring Boot 添加JSP支持[从零开始学Spring Boot] 有网友提了这么一些疑问: 1.Spring Boot使用jsp时,仍旧可以打成jar包的形式吗? 2.Spring Boot使用jsp时,比如说css,image,js 等三种静态资源文件,应该放在什么目录下?这些静态资源映射,在spring boot中具体应该怎么做? 例如,下面是spring中做的静态资源映射,但是在spring boot中不知道怎么处理:     <!-…
[原创文章,转载请注明出处] 个人使用比较习惯的json框架是fastjson,所以spring boot默认的json使用起来就很陌生了,所以很自然我就想我能不能使用fastjson进行json解析呢?        引入fastjson依赖库: <dependencies> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> &…
[原创文章,转载请注明出处] Spring Boot默认选择的Thymeleaf是2.0版本的,那么如果我们就想要使用3.0版本或者说指定版本呢,那么怎么操作呢?在这里要说明下 3.0的配置在spring boot 1.4.0+才支持的,当前博主自己使用的是1.3.3版本,但是会抛出异常信息,当前官方最新支持的是1.4.0.RELEASE.再次强调低版本可能启动会报错,需要使用1.4.0+版本哦.在1.4.0版本默认的还是选择2.0版本的. 只需要在pom.xml加入配置即可,具体看代码: <p…
[原创文章]        使用Spring Boot的Web项目,处理/login请求的控制器方法(该方法会返回JSON格式的数据).此时如果访问localhost:8080/login.html,用户期望返回jsons数据,但框架却报错: There was an unexpected error (type=Not Acceptable, status=406). Could not find acceptable representation 或者这样的异常信息: org.springf…
在之前有一篇文章说了,博客名称从原来的<从零开始学Spring Boot>更改为<Spring Boot常见异常汇总>,后来写了几篇文章之后发展,有些文章还是一些知识点,所以后续的文章还是决定还原回原来的博客名称<从零开始学Spring Boot>了.好了,这些都是无关痛痒的话,那么我们看看这章的内容吧. 事情的起源:有人问我,说编写了一个/hello访问路径,但是吧,不管是输入/hello还是/hello.html,还是/hello.xxx都能进行访问.当时我还以为他…
[从零开始学习Spirng Boot-常见异常汇总] 事情的起因:有人问过我们这个这个问题:为什么我利用Spring data jpa写的方法没有按照我想要的情况进行执行呢?我记得当时只是告诉他你你先看看Spring Data的命名规则吧.所以在这一小节把Spring Data方法定义的规则简单说明下. (1)简单条件查询 简单条件查询:查询某一个实体类或者集合. 按照Spring Data的规范的规范,查询方法以find | read | get 开头,涉及查询条件时,条件的属性用条件关键字连…
[从零开始学习Spirng Boot-常见异常汇总] 如果您碰到什么问题,您可以加群进行探讨,在群里有加入的都是Spring Boot志同道合的朋友: Spring Boot QQ交流群:193341332 [Spring Boot 系列博客] 61. mybatic insert异常:BindingException: Parameter 'name' not found[从零开始学Spring B] 60. Spring Boot写后感[从零开始学Spring Boot] 59. Sprin…
[从零开始学习Spirng Boot-常见异常汇总] 在之前的文章已经讲过spring boot集成mybatis了,但是忘记说一个很重要的知识点了,那就是获取获取主键id,这篇文章补充下,spring boot集成mybatis看之前文章: (). Spring Boot MyBatis连接Mysql数据库[从零开始学Spring Boot] 其实这个也很简单,主要是使用@Options注解,核心代码如下: @Insert("insert into Demo(name,password) va…
[从零开始学习Spirng Boot-常见异常汇总] 问题的提出: 我们在开发过程当中,我们可能会碰到这样的问题:No qualifying bean  就是我们定义的bean无法进行注入,那到底是什么原因呢,有时候挺难定位的,当然这个也需要养成良好的编码习惯,这样也会降低出错的几率. 那么一般说是No quanlifying bean很有可能就是我们没有使用注解或者xml注入我们的bean,要么就是我们bean的名称不是我们注入时指定的名称,那么我们就会想如何查看已经载入到spring boo…
[从零开始学习Spirng Boot-常见异常汇总] 在使用JPA的时候,如果对bean的生命周期不了解的话,难免会碰到一些问题,比如:InvalidDataAccessApiUsageException: Removing a detached instance . 那么这一小节说说实体Bean的生命周期. 1.实体Bean生命周期的4种状态 实体分为被容器管理和不被容器管理两种.可以通过实体管理器的的两个方法进行检测:    contains()用来检查实体是否被管理.    clear()…