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

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

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

@SpringBootTest Canot resolve symbol ‘SpringBootTest‘问题解决_第1张图片

一看提示了 @SpringBootTest Canot resolve symbol 'SpringBootTest',

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


    org.springframework.boot
    spring-boot-starter-test
    test

第二反应是不是哪里写错了代码,把其它项目成功的测试代码拷贝过来试试,结果拷贝过来之后,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的作用范围去掉,这样所有周期范围就都可以使用到了。

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

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

推荐使用第二种!

你可能感兴趣的:(#,SpringBoot)