Spring项目用junit 时出现org.junit.runners.BlockJUnit4ClassRunner cannot be resolved

spring框架项目用junit做测试时,程序在自动编译时出现下述问题:
Spring项目用junit 时出现org.junit.runners.BlockJUnit4ClassRunner cannot be resolved_第1张图片
 程序的问题是项目中找不到org.junit.runners.BlockJUnit4ClassRunner,有两种可能,一是没有导入junit的jar, 二是导入的junit的jar的版本中没有此类。

1、首先确认是否导入jar包

Spring项目用junit 时出现org.junit.runners.BlockJUnit4ClassRunner cannot be resolved_第2张图片
 
2、既然Jar已导入,那就上junit官网看看现在junit的版本


Spring项目用junit 时出现org.junit.runners.BlockJUnit4ClassRunner cannot be resolved_第3张图片
 

总结:

1、充分可以肯定是版本问题,junit换一个高一些的版本,问题解决。

 

2、经过调查了解到Spring3提供了SpringJUnit4ClassRunner基类让我们可以很方便的接入JUnit4,而org.springframework.test.context.junit4.SpringJUnit4ClassRunner 继承了org.junit.runners.BlockJUnit4ClassRunner,这里BlockJUnit4ClassRunner类是在junit4.5以上的版本才含有的。


3、使用junit4.11版本时,官网里是要求junit-4.11.jar + hamcrest-core-1.3.jar,如果不加hamcrest-core-1.3.jar会报java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing错误。如果用4.11版本需要两个Jar都加上,或者换成低一点的版本,下面共享的文件里提供了 junit4.7 版本。 


Spring项目用junit 时出现org.junit.runners.BlockJUnit4ClassRunner cannot be resolved_第4张图片
 
 
温馨提示:junit-4.11的jar包已共享,共享文件包括junit的jar包、源代码、文档。

百度网盘:链接:http://pan.baidu.com/s/1mgvFIje 密码:8ssf

你可能感兴趣的:(Spring项目用junit 时出现org.junit.runners.BlockJUnit4ClassRunner cannot be resolved)