从Spring3迁移到Spring4测试报错

简介:

在老的项目中使用的是Spring3.2,最近我使用了Spring4.0.6进行迁移测试,之前使用的mock的测试没有问题,但是在Spring4中报错如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
java.lang.NoSuchMethodError: org.springframework.core.CollectionFactory.createLinkedMapIfPossible(I)Ljava/util/Map;
     at org.springframework.mock.web.MockHttpServletRequest.<init>(MockHttpServletRequest.java: 107 )
     at org.springframework.mock.web.MockHttpServletRequest.<init>(MockHttpServletRequest.java: 187 )
     at com.baidu.solr.finance.IncrementalContorllerTest.init(IncrementalContorllerTest.java: 28 )
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java: 57 )
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: 43 )
     at java.lang.reflect.Method.invoke(Method.java: 606 )
     at org.junit.internal.runners.MethodRoadie.runBefores(MethodRoadie.java: 129 )
     at org.junit.internal.runners.MethodRoadie.runBeforesThenTestThenAfters(MethodRoadie.java: 93 )
     at org.unitils.UnitilsJUnit4TestClassRunner$TestListenerInvokingMethodRoadie.runBeforesThenTestThenAfters(UnitilsJUnit4TestClassRunner.java: 186 )
     at org.junit.internal.runners.MethodRoadie.runTest(MethodRoadie.java: 84 )
     at org.junit.internal.runners.MethodRoadie.run(MethodRoadie.java: 49 )
     at org.unitils.UnitilsJUnit4TestClassRunner.invokeTestMethod(UnitilsJUnit4TestClassRunner.java: 95 )
     at org.junit.internal.runners.JUnit4ClassRunner.runMethods(JUnit4ClassRunner.java: 61 )
     at org.unitils.UnitilsJUnit4TestClassRunner.access$ 000 (UnitilsJUnit4TestClassRunner.java: 42 )
     at org.unitils.UnitilsJUnit4TestClassRunner$ 1 .run(UnitilsJUnit4TestClassRunner.java: 60 )
     at org.junit.internal.runners.ClassRoadie.runUnprotected(ClassRoadie.java: 34 )
     at org.junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java: 44 )
     at org.unitils.UnitilsJUnit4TestClassRunner.run(UnitilsJUnit4TestClassRunner.java: 67 )
     at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java: 50 )
     at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java: 38 )
     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java: 467 )
     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java: 683 )
     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java: 390 )
     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java: 197 )


我查看了一下代码和pom.xml的依赖关系,之前Spring3的依赖如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
< properties >
         < spring.version >3.2.4.RELEASE</ spring.version >
         < junit.version >4.10</ junit.version >
     </ properties >
...
         < dependency >
             < groupId >org.springframework</ groupId >
             < artifactId >spring-mock</ artifactId >
             < version >2.0.8</ version >
             < scope >test</ scope >
         </ dependency >
         < dependency >
             < groupId >org.springframework</ groupId >
             < artifactId >spring-test</ artifactId >
             < version >${spring.version}</ version >
             < scope >test</ scope >
         </ dependency >

到了Spring4,就需要把spring-mock依赖去除。

希望可以帮助到诸位!



本文转自 梦朝思夕 51CTO博客,原文链接:http://blog.51cto.com/qiangmzsx/1634774


相关文章
|
1月前
|
Java Spring
使用JDBCTemplate实现与Spring结合,方法公用 ——测试(EmpDaoImplTest)
使用JDBCTemplate实现与Spring结合,方法公用 ——测试(EmpDaoImplTest)
9 0
|
3月前
|
缓存 负载均衡 Java
Spring Cloud Alibaba client升级问题之升级报错如何解决
Spring Cloud Alibaba提供了一套在Spring Cloud框架基础上构建的微服务解决方案,旨在简化分布式系统的开发和管理;本合集将探讨Spring Cloud Alibaba在实际应用中的部署和使用技巧,以及该框架常见问题的诊断方法和解决步骤。
|
3月前
|
消息中间件 Java 测试技术
Spring Cloud Alibaba环境问题之测试环境失败如何解决
Spring Cloud Alibaba提供了一套在Spring Cloud框架基础上构建的微服务解决方案,旨在简化分布式系统的开发和管理;本合集将探讨Spring Cloud Alibaba在实际应用中的部署和使用技巧,以及该框架常见问题的诊断方法和解决步骤。
|
3月前
|
运维 负载均衡 网络协议
函数计算FC报错问题之测试报错如何解决
函数计算(Function Compute,FC)是一个事件驱动的全托管计算服务,允许用户编写并上传代码,而无需管理服务器运行和维护;在使用过程中,可能会遇到各种报错,本合集聚焦于函数计算FC常见的报错问题,提供一系列的故障排查指导和解决建议,帮助用户优化云端函数执行
71 2
|
29天前
|
测试技术 数据库连接 数据库
测试环境的数据库连不了,打包报错怎么办
测试环境的数据库连不了,打包报错怎么办
15 0
|
29天前
|
算法 物联网 网络安全
MQTT常见问题之使用MQTTSendMessage2MQTT.py测试报错如何解决
MQTT(Message Queuing Telemetry Transport)是一个轻量级的、基于发布/订阅模式的消息协议,广泛用于物联网(IoT)中设备间的通信。以下是MQTT使用过程中可能遇到的一些常见问题及其答案的汇总:
|
1月前
|
Java Apache vr&ar
springmvc报错 nested exception is org.mybatis.spring.MyBatisSystemException:
springmvc报错 nested exception is org.mybatis.spring.MyBatisSystemException:
16 0
|
1月前
|
Java Windows Perl
mybatis+spring报错PropertyAccessException 1: org.springframework.beans.MethodInvocationException
mybatis+spring报错PropertyAccessException 1: org.springframework.beans.MethodInvocationException
12 0
|
1月前
|
前端开发 Java Spring
ssm中spring mvc找不到控制器,报错404
ssm中spring mvc找不到控制器,报错404
14 0
|
1月前
|
Java Spring
使用spring实现邮件的发送(含测试,源码,注释)
使用spring实现邮件的发送(含测试,源码,注释)
7 0

热门文章

最新文章