【spring boot】10.spring boot下的单元测试

spring boot下的单元测试,思前想后还是需要单独用一章篇幅来看看。

然后在看了介绍和使用时候,我感觉并不想多去看了。

但是还是给后来人留下参考的路径:

官网说明:https://spring.io/blog/2016/04/15/testing-improvements-in-spring-boot-1-4【看了这篇说明,下面的问题2即可迎刃而解】

完整例子使用单元测试:https://segmentfault.com/a/1190000011420910【看了这个之后,你就打消了要把它看完的念头,当然测试人员除外,因为这简直就是测试人员的福音】

 

==============================================================================================

解释一下为什么作为开发人员,我放弃了这一篇。

  1.原本在开发过程中仅使用junit的@Test()注解,仅作为一部分功能或者部分代码所实现效果的测试,不用重启项目,也不用加载整个项目;效果快,效率快,代价较小;

  2.现在spring-boot中的这部分单元测试,需要启动整个项目去加载所有的要注入的bean和资源文件,而实现的测试功能与启动项目之后去访问浏览器进入controller执行效果基本一致;代价大,速度慢;

  3.目前接触的项目,启动都很费劲。

==============================================================================================

这里有几个碰到的问题:

 

问题1:新建一个类之后,引入@RunWith()注解死活找不到的原因

解答:

  这个问题很坑,因为你创建的这个类是在main下而不是在test下,所以不能使用@RunWith()注解,标注这个类为测试类!!

 

 

问题2:@SpringApplicationConfiguration(启动类.class)这个注解死活找不到

解答:

  这个注解在1.4就被替换了,而我自己使用的spring-boot版本是1.5.8,现在使用@SpringBootTest即可替换这个注解。

   

上面这两个注解,就可以实现单元测试的基本功能了。

 

时间: 2024-10-16 00:13:50

【spring boot】10.spring boot下的单元测试的相关文章

5.10. Spring boot with Session share

5.10.1. Redis 5.10.1.1. Maven 增加下面代码到pom.xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <dependency> <groupId>org.springfra

2.10. Spring boot with Session share

2.10.1. Redis 2.10.1.1. Maven 增加下面代码到pom.xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <dependency> <groupId>org.springfra

使用Spring Session实现Spring Boot水平扩展

本文使用Spring Session实现了Spring Boot水平扩展,每个Spring Boot应用与其他水平扩展的Spring Boot一样,都能处理用户请求.如果宕机,Nginx会将请求反向代理到其他运行的Spring Boot应用上,如果系统需要增加吞吐量,只需要再启动更多的Spring Boot应用即可. Spring Boot应用通常会部署在多个Web服务器上同时提供服务,这样做有很多好处: 单个应用宕机不会停止服务,升级应用可以逐个升级而不必停止服务. 提高了应用整体的吞吐量.

使用JWT保护你的Spring Boot应用 - Spring Security实战

作者 freewolf 原创文章转载请标明出处 关键词 Spring Boot.OAuth 2.0.JWT.Spring Security.SSO.UAA 写在前面 最近安静下来,重新学习一些东西,最近一年几乎没写过代码.整天疲于奔命的日子终于结束了.坐下来,弄杯咖啡,思考一些问题,挺好.这几天有人问我Spring Boot结合Spring Security实现OAuth认证的问题,写了个Demo,顺便分享下.Spring 2之后就没再用过Java,主要是xml太麻烦,就投入了Node.js的怀

【spring Boot】Spring中@Controller和@RestController之间的区别

spring Boot入手的第一天,看到例子中的@RestController ............. 相同点:都是用来表示Spring某个类的是否可以接收HTTP请求 不同点:@Controller标识一个Spring类是Spring MVC controller处理器 @RestController:  a convenience annotation that does nothing more than adding the@Controller and @ResponseBody 

quartz集群-Quartz+Spring+Hibernate集群环境下 ClusterManager: Error managing cluster: null

问题描述 Quartz+Spring+Hibernate集群环境下 ClusterManager: Error managing cluster: null [2013-12-19 14:43:44] [ERROR] QuartzScheduler_quartzScheduler-NON_CLUSTERED_ClusterManager) - ClusterManager: Error managing cluster: null java.lang.reflect.UndeclaredThro

spring hibernat 配置问题,为什么我新建单元测试,会出现问题?大神帮我一下啊。

问题描述 spring hibernat 配置问题,为什么我新建单元测试,会出现问题?大神帮我一下啊. 解决方案 原因:XFire 1.2 Core Libraries中spring-1.2.6.jar与项目中的spring2冲突. 解决:MyEclipse6.5中Window->Preferences->MyEclipse Enterprise Workbench->Project Capabilites->Web Services - XFire选择spring-1.2.6.j

在没有spring等框架的情况下实现多数据源的问题

问题描述 在没有spring等框架的情况下实现多数据源的问题 系统是没有spring,hibernate等框架.要求就是系统想要同时连多个数据库,可以执行多个数据库的操作.我是新手,那位大哥帮帮忙!!!! 解决方案 直接用jdbc访问数据库http://blog.csdn.net/xinxin19881112/article/details/4511566http://blog.csdn.net/xiyoukeke/article/details/6370604http://www.cnblog

【Spring】Spring常用配置-Spring EL和资源调用

转载请注明出处:http://blog.csdn.net/qq_26525215 本文源自[大学之旅_谙忆的博客] 分析 先简单介绍下Spring EL. Spring EL 也就是Spring表达式语言,支持在xml和注解中使用表达式,类似于JSP的EL表达式语言. Spring开发中我们可能经常涉及到调用各种资源的情况,包含普通文件.网址.配置文件.系统环境变量等,我们可以使用Spring的表达式语言实现资源的注入. Spring主要在注解@Value的参数中使用表达式. 本示例演示实现以下