java.lang.ClassNotFoundException: org.springframework.test.context.TestContextAnnotationUtils问题处理

项目场景:
使用@SpringBootTest进行单元测试。
问题描述
启动直接报错:

java.lang.NoClassDefFoundError: org/springframework/test/context/TestContextAnnotationUtils

Caused by: java.lang.ClassNotFoundException: org.springframework.test.context.TestContextAnnotationUtils

原因分析:
这是由于 spring-boot-test 和 spring-test 的版本没有匹配上
由于代码验收,我这边使用的是第三方提供的框架,然后将自己的依赖等加入,但是加入maven中将springtest的版本用了自己的版本和第三方的不同


我自己的<spring-framework.version>5.2.13.RELEASE</spring-framework.version> 对应的springboot是<spring-boot.version>2.3.9.RELEASE</spring-boot.version>
但是第三方的springboot是<spring-boot.version>2.6.11</spring-boot.version>使用的
 <spring-framework.version>5.3.22</spring-framework.version>
我将手动添加的spring-framework.version改成5.3.22就可以了

同时为了让给典发那个能扫到测试类,还需要加上springboottest注解
@RunWith(SpringRunner.class)
@SpringBootTest(classes = MatchRuleEnumTest.class)
引入的包是
import org.junit.Test;
import org.junit.runner.RunWith;
如果使用import org.junit.jupiter.api.Test;这个包,那不能加springboottest注解,他们扫不到```




问题2

```java
java.lang.Exception: Method matchTest should have no parameters
```java
在这里插入代码片

原因是我测试代码中加了参数,这是不被允许的
matchTest(string context )
去掉参数ok

暂时更新这,后续补充


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值