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即可替换这个注解。
上面这两个注解,就可以实现单元测试的基本功能了。