zoukankan      html  css  js  c++  java
  • Spring项目用junit 时出现org.junit.runners.BlockJUnit4ClassRunner cannot be resolved(转)

    spring框架项目用junit做测试时,程序在自动编译时出现下述问题:

     程序的问题是项目中找不到org.junit.runners.BlockJUnit4ClassRunner,有两种可能,一是没有导入junit的jar, 二是导入的junit的jar的版本中没有此类。

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


     
    2、既然Jar已导入,那就上junit官网看看现在junit的版本



     

    总结:

    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 版本。 



     
     
    温馨提示:junit-4.11的jar包已共享,共享文件包括junit的jar包、源代码、文档。

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

    2017-12-27更新
    自己也遇到这个问题了,按照上面的解决方法不行,自己用的maven导入的是junit4.12后来自己经过调试后发现,是版本问题,改为4.11后没有问题了,代码如下

    @RunWith(SpringJUnit4ClassRunner.class)
    @ContextConfiguration({ "classpath:spring/spring-dao.xml", "classpath:spring/spring-service.xml" })
    public class BaseTest {
    }
    
  • 相关阅读:
    mysql复制那点事
    全排列问题
    56. Merge Interval
    2. Add Two Numbers
    20. Valid Parentheses
    121. Best Time to Buy and Sell Stock
    120. Triangle
    96. Unique Binary Search Trees
    91. Decode Ways
    72. Edit Distance
  • 原文地址:https://www.cnblogs.com/jpfss/p/8124359.html
Copyright © 2011-2022 走看看