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

@SpringBootTest Canot resolve symbol ‘SpringBootTest‘问题解决最近在开发中总是遇到一些奇奇怪怪的问题,都是一些不大不小的事情,有一个开发同事反馈,在使用SpringBoot创建单元测试的时候,无论怎么弄都提示注解不存在,如下:一看提示了@SpringBootTestCanotresolvesymbol’SpringBootTest’,第一反应是不是没有添加依赖包,查看pom.xml,里面已经有添加的包了,<dependency><groupId>org.springframework.boot<.

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

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

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

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

一看提示了 @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.net/134636.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • .Net 接入CAS 遇到的坑

    .Net 接入CAS 遇到的坑

    2021年7月2日
    106
  • Linux磁盘简介「建议收藏」

    Linux磁盘简介「建议收藏」转载请标明出处:http://blog.csdn.net/forezp/article/details/94174577本文出自方志朋的博客个人博客纯净版:https://www.fangzhipeng.com/db/2019/09/10/linux-disc.html本文主要从以下几个方面介绍Linux磁盘:磁盘的接口硬盘的设备名称文件系统RAID独立冗余磁盘阵列磁盘…

    2022年5月28日
    40
  • 计算机为什么要用补码运算_补码运算溢出后怎么算

    计算机为什么要用补码运算_补码运算溢出后怎么算计算机为什么用补码运算使用补码,可以将符号位和数值域统一处理,从而简化运算规则、简化运算器的结构,提高运算速度;使减法运算转换为加法运算,进一步简化计算机中运算器的电路设计两个用补码表示的数相加时,如果最高位(符号位)有进位,则进位被舍弃,而这样计算仍然正确;采用补码表示还有另外一个原因,那就是为了防止0机器数有两个编码。原码和反码表示的0有两种形式+0和-0,而采用补码表示的时候,00000000是+0即0,10000000不再是-0而是-128这样,补码表示的数的范围就是-128~+127,不

    2022年9月22日
    2
  • GCC 命令格式

    GCC 命令格式GCC命令格式gcc[options][filenames]常用选项含义-E只做预处理-c只编译不链接,生成目标文件“.o”-S生成汇编代码-ofile把输出生成到由file指定文件名的文件中-g在输出的文件中加入支持调试的信息-v显示输出详细的命令执行过程信息GCC的主要执行步骤ELF介绍1.ELF简介注:以上内容来源于:https://www.bilibili.com/video/BV1Q5411w7z5?p=5

    2022年10月13日
    2
  • python中exec 和eval的用法[通俗易懂]

    python中exec 和eval的用法[通俗易懂]https://www.mojidong.com/post/2013-05-10-python-exec-eval/

    2022年7月6日
    20
  • int和int32的区别_int是多少位的

    int和int32的区别_int是多少位的大家有没有写了很久代码,还不知道这个Int8,Int16,Int32,Int64有什么区别呢?或者是为什么后面的数字不一样呢?初步了解了一下,才清楚这个东西。先来扫盲一下计算机存储单元,  在计算机内部,信息都是釆用二进制的形式进行存储、运算、处理和传输的。信息存储单位有位、字节和字等几种。各种存储设备存储容量单位有KB、MB、GB和TB等几种计算机的基本的存储单元有:…

    2022年8月15日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号