Spring-Boot Unit Test 失败总结
今天在做UnitTest的时候发生了很奇怪的原因,后面自己找了很久才找到问题。首先情景重现:1、我在自己的本地做UnitTest,Gradle build成功后然后提交到Git上jenkins也build成功。2、另外一个同事在checkin 他的代码的时候build失败了,失败的原因是我的unit test没有成功。3、同事将我的UnitTest 给注释掉后成功,
今天在做UnitTest的时候发生了很奇怪的原因,后面自己找了很久才找到问题。
首先情景重现:
1、我在自己的本地做UnitTest,Gradle build成功后然后提交到Git上jenkins也build成功。
2、另外一个同事在checkin 他的代码的时候build失败了,失败的原因是我的unit test没有成功。
3、同事将我的UnitTest 给注释掉后成功,代码checkin进去了。
解析和理解:
从上面的情景重现来看,这肯定是我的代码的问题了,build失败的报错是我的,而且将我的代码注释掉以后也能够成功的build过。于是我将git上最新的代码同步下来然后做UT果然出错了。这个时候我就很疑惑,非常奇怪的原因了,因为我之前都能build过,而且我没有做任何的修改操作。Build的时候抛出了NPE错误。所以我开始怀疑不是我的问题。
查出问题的过程:
1、我把整个项目重新build一遍成功。
2、我把项目启动起来,发现启动失败。抛出错误。这个时候我就离真正的原因很近了。因为run不起来所以说明项目是有问题的,我在做UT的时候是需要将Spring容器启动起来,然后让Spring将我需要的对象注入进来。
3、既然Spring都不能启动起来,所以也无法为我注入我想要的对象,所以导致了我抛出了异常。然后去check同事的代码,发现同事的代码有问题,他的代码语法没有问题,但是在启动spring的时候会出现问题。所以造成了这一系列的现象。做一个记录以防下次再次遇到可以很好的查找问题。
更多推荐
所有评论(0)