大家好,又见面了,我是你们的朋友全栈君。
最近在开发中总是遇到一些奇奇怪怪的问题,都是一些不大不小的事情,
有一个开发同事反馈,在使用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’,类引入不了的问题。
推荐使用第二种!
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/134636.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...