笔者在用spring-test.jar和junit4做单元测试时,一直报这个错。尝试了很多次,最终问题解决了,于是我把我的场景解决方法写在下面:
首先,写下我的报错场景:
项目中的一个接口需要单元测试,需要使用spring-test和junit,于是就从网上下载了spring-test.4.x版本,看网上说要配合junit4,所以项目中使用了eclipse自带的junit4。
但是在自己Test时候就报了log4j:WARN File option not set for appender [logfile]. log4j:WARN Are you using FileAppender instead of ConsoleAppender?错,开始以为spring-test的log4j和项目中有冲突,不断的改,问题依然存在.....解决之前的过程就不做过多赘述,还是直接写解决办法吧!
1.我自己的项目所使用的spring是3.2,之前在网上随便下载了spring-test-4.x版本就拿来用了,网上查说是版本不兼容,但是通过网上得到的答案比较模糊,不确定是spring-test和junit的版本不兼容,还是spring-test和项目spring版本不兼容,亦或是junit4与项目jar不兼容,后来我就下载了spring-test-3.2版本,保持和项目spring版本一致。
2.junit这块开始使用的eclipse自带的,后来就自己网上下载junit4.11 -jar 版本高一点的jar,又拿了eclipse中junit4使用的另一个,然后在项目buid-path中引用这两个jar.
3.然后修改Test开始单元测试,测试成功!
总结,有时候项目中碰到不兼容问题,常见的是jar版本不兼容,还有就是相同功能或名字的jar,只是不同版本号导致的,碰到这样的问题就一点点排查,细心采用一致版本号的jar先做测试,然后再慢慢一步步解决。