zl程序教程

您现在的位置是:首页 >  其它

当前栏目

@SpringBootTest Canot resolve symbol ‘SpringBootTest‘问题解决

问题 解决 symbol resolve SpringBootTest
2023-06-13 09:12:08 时间

大家好,又见面了,我是你们的朋友全栈君。

最近在开发中总是遇到一些奇奇怪怪的问题,都是一些不大不小的事情,

有一个开发同事反馈,在使用Spring Boot创建单元测试的时候,无论怎么弄都提示注解不存在,如下:

一看提示了 @SpringBootTest Canot resolve symbol ‘SpringBootTest’,

第一反应是不是没有添加依赖包,查看pom.xml,里面已经有添加的包了,

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
</dependency>

第二反应是不是哪里写错了代码,把其它项目成功的测试代码拷贝过来试试,结果拷贝过来之后,import引用也是灰色的 import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner;

第三反应是不是没有编译引用,maven编译一波,还是没有解决,然后查看依赖包以及里面的类,什么包类都有啊,一个不差啊!

这个神奇了,堂堂超神级别的工程师,从来没有遇到这么弱的问题!就不信搞不定它,继续排查,

好家伙,总算找到问题了,

原来是这小伙把单元测试例子写在了/src/main/java/目录下,导致了无法引用spring-boot-starter-test的测试类,

解决方法有两种,

第一种,将spring-boot-starter-test的作用范围<scope>去掉,这样所有周期范围就都可以使用到了。

第二种,mave依赖不变,将单元测试代码放在/src/test/java/目录下,这样springboot会自动识别到这是测试目录。

通过以上两种方法可以解决@SpringBootTest Canot resolve symbol ‘SpringBootTest’,类引入不了的问题。

推荐使用第二种!

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/134636.html原文链接:https://javaforall.cn