SpringJUnit4测试--测试无反应/控制台报空指针的解决---junit的jar冲突!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringJUnit4测试--测试无反应/控制台报空指针的解决---junit的jar冲突!相关的知识,希望对你有一定的参考价值。

前言:

前些日子碰到一个诡异的问题--用springJUnit进行测试,运行方法什么反应也没有,控制台 也没有输出,百度也没有答案--只好暂时作罢。今天我只好用上了排除法,建个测试小项目,将只要能测试的几个Spring相关jar拷进去,测试正常,然后开始与原项目进行对比排除jar,看看到底是哪个/哪些jar惹的祸导致jar冲突,结果真是出乎我的意料--竟然是自家兄弟!原来这个项目中也有个junit-4.4的jar,把它删掉就好了。(项目build path添加junt4依赖时会导入相应jar,与之冲突。)哎...害我直接放大招,浪费元气。既然是测试异常,我怎么不一开始想到测试jar冲突呢?那样的话一分钟差不多就可以搞定--真是思想最大啊。

下面是问题描述及排查、解决过程:

 

问题描述:

springJunit测试某方法,发现控制台报空指针(这是后来报的,一开始是空白,什么也没有),Junit节目也没有任何反应。

技术分享

控制台报的空指针异常分析:

右键进入异常所在jar(我有装反编译,如果是项目存在的jar是绝对可以进入的。),发现下面紫色框中的方法所在类没有发现!

技术分享

如:

技术分享

难道是eclipse(我用的是STS,和eclipse差不多)的问题?

但是我用别的项目测试可以的。这肯定不是工具的问题了。--jar引起的。

接下来我就在可以正常测试的项目中一点点加jar,然后看加到哪里不行了,最后排查到了这个坑货:

技术分享

解决方法:删除这个jar即可。

 

后记:也可能与工具有关系。因为当时开发用的是myeclipse,现在我在用eclipse,所以不排除在myeclipse可以测试这种可能。

 

以上是关于SpringJUnit4测试--测试无反应/控制台报空指针的解决---junit的jar冲突!的主要内容,如果未能解决你的问题,请参考以下文章

Appium进行自动化测试的时候,始终无反应,也没有日志输出,请问啥原因?

SpringJunit4测试

SpringJUnit4ClassRunner 测试的配置与 SpringBootTest 冲突

SpringJUnit4ClassRunner 与 JUnit 测试套件错误

Springboot单元测试:SpringRunner 和 SpringJUnit4ClassRunner使用

JUnit 测试不使用 SpringJUnit4ClassRunner 回滚