Spring4.3.0 Junit4.11 initializationError(org.junit.runner.manipulation.Filter)

2023-05-16

Spring4.3.0 Junit4.11 initializationError(org.junit.runner.manipulation.Filter)

昨天手欠,在项目中把Spring3.2.14版本升级到4.3.0版本,结果在使用junit进行单元测试时抛出如下错误,耗了一个多小时才搞定,在此记录一下,以防遗忘。

具体解决方案:升级Junit4.11版本到4.12版本解决,初步怀疑是底层实现方式不兼容导致,但还没深究代码实现,不作100%保证

package com.mhy.aop;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.aop.aspectj.annotation.AspectJProxyFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import com.mhy.aop.aspectj.PreGreetingAspect;
import com.mhy.aop.aspectj.service.WaiterService;
import com.mhy.aop.aspectj.service.impl.WaiterServiceImpl;

/**
 * 增强类测试
 * @author mahaiyuan
 * @date 2016年7月2日 下午11:52:36
 */
@RunWith(SpringJUnit4ClassRunner.class)  
@ContextConfiguration(locations = "classpath:aspectj-beans.xml")
public class AspectJTest {

    @Autowired
    private WaiterService waiterService;

    @Test
    public void test02(){
        waiterService.greetTo("王五");
        System.out.println("============================");
        waiterService.serveTo("赵六");
    }
}

执行测试用例时,在eclipse里显示执行失败
单元测试失败
竟然没有错误提示?!拷贝了一下该异常信息,具体内容如下:

AspectJTest.test02
initializationError(org.junit.runner.manipulation.Filter)
java.lang.Exception: No tests found matching [{ExactMatcher:fDisplayName=test02], {ExactMatcher:fDisplayName=test02(com.mhy.aop.AspectJTest)], {LeadingIdentifierMatcher:fClassName=com.mhy.aop.AspectJTest,fLeadingIdentifier=test02]] from org.junit.internal.requests.ClassRequest@579bb367
    at org.junit.internal.requests.FilterRequest.getRunner(FilterRequest.java:35)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createFilteredTest(JUnit4TestLoader.java:77)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:68)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:43)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:444)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)

大致的意思是没有找到匹配的测试方法,但明明有,为什么会说没有匹配上呢?
从google和stackoverflow查找了一翻,大部分都在写换IDE、重写RunWith下的类等等,不一而足,但最终没能解决这个问题,个人也感觉不靠谱,没办法只能回到实际情况本身来反向推论了。

产生原因:升级Spring的版本之后单元测试不能使用了
那如果把版本降为3.2.14是否还能正常,测试了一下,把版本降为3.2.14之后测试用例能正常执行了,那是否为Spring4与Junut4.11版本的兼容性问题呢?比如底层实现方式发生了变化,然后把项目中使用的Junit版本升级到4.12。

升级之后再次执行该测试用例,然后内牛满面了,结果运行正常

How are you
WaiterServiceImpl.greetTo name=王五
============================
WaiterServiceImpl.serveTo name=赵六

根据当前的情况来讲,问题产生在Spring与Junit不同版本之间的兼容性方面,具体是哪一步实现不兼容导致在未看底层实现方面不能保证具体原因,待后面查看源码时再补充上该内容。^_^

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring4.3.0 Junit4.11 initializationError(org.junit.runner.manipulation.Filter) 的相关文章

随机推荐

  • linux 下TCP通信例程

    TCP server span class token macro property span class token directive hash span span class token directive keyword inclu
  • FreeRTOS系列|消息队列一

    消息队列一 1 消息队列简介 消息队列可以在任务与任务 任务与中断之间传递消息 xff0c 队列可以保存有限个具有确定长度的数据单元 队列可保存的最大单元数目被称为队列的长度 xff0c 在队列创建时需要指定其长度和每个单元 xff08 队
  • 【达内课程】网络通信之HTTP协议和Get请求实例(1)

    文章目录 HTTP协议发送HTTP GET请求增加参数 HTTP协议 HTTP协议 HTTP 协议是超文本传输控制协议 HTTP 协议中定义了客户端与服务端的通信流程与数据交互格式 网络通信中的长连接与短链接 长连接 xff1a 当客户端与
  • 学习Kalibr工具--Camera与IMU联合标定过程

    上一节介绍了 xff0c 用kalibr工具对camera进行标定的操作流程 xff0c 在camera标定之好之后 xff0c 进行camera与IMU进行联合标定的操作的学习 xff0c 即求取相机和IMU 之间的转换关系 坐标系之间的
  • C++之数据对齐

    目录 关于对齐数据对齐结构体对齐原则原理分析 关于对齐 对齐方式 xff1a 表示的是一个类型的对象存放的内存地址应满足的条件好处 xff1a 对齐的数据在读写上有性能优势对于不对齐的结构体 xff0c 编译器会自动补齐以提高CPU的寻址效
  • 对于人工智能,你有怎样的认识和理解?

    作为最初级的程序员 xff0c 对于高深的技术总是望尘莫及 xff0c 而高大上的人工智能更是让我们感觉遥远 xff0c 不过路都是一步步走出来的 xff0c 只要一直走 xff0c 总有触及到的一天 今天就来聊聊你对于人工智能的认识吧 x
  • windows通过独立ip形式访问docker容器

    windows10环境下通过docker容器独立ip暴露给局域网进行访问 自定义docker network docker network create subnet 61 172 20 0 0 24 mhy net 启动docker ng
  • Docker镜像

    概述 前面我们说了Docker的基本概念 xff0c 这里我们把每一块内容进行详细疏理一下 xff0c 本篇主要讲的是Docker的镜像相关内容 注 xff1a 本篇内容主要以 Docker从入门到实践 中镜像一模块为主线 xff0c 结合
  • Docker容器

    概述 前面我们讲了Docker三个主要概念中的镜像 xff0c 这里我们再来讲一下Docker的第二个重要概念 xff1a 容器 容器是独立运行的一个或一组应用以及它们的运行态环境 关于容器本篇主要讲如下几部分内容 xff1a 启动容器 关
  • 如何进入Docker容器

    概述 在使用Docker创建了容器之后 xff0c 大家比较关心的就是如何进入该容器了 xff0c 其实进入Docker容器有好几多种方式 xff0c 这里我们就讲一下常用的几种进入Docker容器的方法 进入Docker容器比较常见的几种
  • 从零开始使用Docker构建Java Web开发运行环境

    概述 前面我们讲了关于Docker的一些基本概念和操作 xff0c 今天我们以一个简单的Java Web例子来说一下Docker在日常工作中的应用 xff0c 本篇主要讲如下几部分内容 xff1a 创建jdk镜像 创建resin镜像 启动w
  • Spring MapFactoryBean应用详解

    在我们工作中 xff0c 尤其是电商系统中 xff0c 一个庞大的电商平台不是一个封闭的平台 xff0c 往往还伴生着一个开放平台 xff0c 用以接入各个企业 xff0c 以实现一种共赢的局面 xff0c 一般来讲 xff0c 针对于这种
  • FreeRTOS系列|二值信号量

    二值信号量 1 信号量简介 信号量一般用来进行资源管理和任务同步 xff0c FreeRTOS中信号量又分为二值信号量 计数型信号量 互斥信号量和递归互斥信号量
  • ubuntu ifconfig命令无效解决方案

    1 更新或升级系统 sudo apt get update 2 安装ipconfig的工具 sudo apt install net tools 3 查看ip ifconfig
  • 树莓派4b镜像烧录以及如何无显示屏远程登陆操作

    1 树莓派的烧录 xff1a 树莓派的烧录我用了很长的时间 xff0c 重新烧录的很多次 xff0c 都是因为没办法打开ssh xff0c 所以没办法进入树莓派调试 因为我使用树莓派主要是用来部署yolov5进行识别物体的 xff0c 所以
  • MyBatis入门——动态SQL

    前言 在我们日常工作中 xff0c 使用MyBatis除了做一般的数据查询之外 xff0c 还有很多业务场景下需要我们针对不同条件从数据库中获取到满足指定条件的数据 xff0c 这时候我们应该如何来做呢 xff1f 针对每种条件封装一个方法
  • Docker搭建本地私有仓库

    和Mavan的管理一样 xff0c Dockers不仅提供了一个中央仓库 xff0c 同时也允许我们使用registry搭建本地私有仓库 使用私有仓库有许多优点 xff1a 一 节省网络带宽 xff0c 针对于每个镜像不用每个人都去中央仓库
  • 斐波那契数列 Java实现

    关于斐波那契数列在百度百科上的定义如下 xff1a 斐波那契数列 xff0c 又称黄金分割数列 xff0c 指的是这样一个数列 xff1a 0 1 1 2 3 5 8 13 21 34 在数学上 xff0c 斐波纳契数列以如下被以递归的方法
  • Maven+Jetty运行项目无法热修改html处理

    一直以来都在做后端工程的开发 xff0c 很少做前端设计 xff0c 最近工作需要开始做前端开发 xff0c 感觉 辛辛苦苦几十年 xff0c 一朝回到解放前 的节奏啊 xff0c 遇到不少问题 xff0c 记录下来以备后查 今天在使用Ma
  • Spring4.3.0 Junit4.11 initializationError(org.junit.runner.manipulation.Filter)

    Spring4 3 0 Junit4 11 initializationError org junit runner manipulation Filter 昨天手欠 xff0c 在项目中把Spring3 2 14版本升级到4 3 0版本