SpringBoot项目中@Test不出现可点击运行的按钮问题

目录
  • @Test不出现可点击运行的按钮
  • 单元测试中有了@Test注解但是idea没有执行的按钮
    • 查阅了下资料,原理是
    • 解决办法
    • 扩展

@Test不出现可点击运行的按钮

SpringBoot项目的test包里用来做测试的*****Test类里面的@Test单元测试不起作用,即左边没有可以运行的按钮,如下图-1所示:

图-1

这时我们看到@SpringBootTest注解也有,@Test注解也有,但是左边没有可运行的按钮,原因是这个类和类里的方法都不是公开(public)的,需要在class前加上public,也需要在类里的方法前面也加上,比如这个要在contextLoads方法的void前面也加上public,都加上后就能出现想要的效果了,如下图-2所示:

此时,左边就出现了能够点击运行的三角按钮,就可以用这个类写方法测试了。

单元测试中有了@Test注解但是idea没有执行的按钮

打算给自己的demo弄一个单元测试碰到的一些坑,我从其他项目复制一份单元测试发现左侧没有执行按钮

我去我另外一个项目左看右看了老半天没找发现问题,然后我就想这个会不会是因为导入的包不一样所以出现了问题

org.junit.jupiter.api.Test和org.junit.Test就是这两个

查阅了下资料,原理是

  • spring boot 2.2之前使用的是 Junit4:org.junit.Test
  • spring boot 2.2之后使用的是 Junit5:org.junit.jupiter.api.Test

看了一下项目springboot版本果然不一样

解决办法

如果你用的版本是spring boot 2.2之前的版本你给他加上public就行

扩展

@RunWith(SpringRunner.class)的作用

注解的意义在于Test测试类要使用注入的类,比如@Autowired注入的类有了@RunWith(SpringRunner.class)这些类才能实例化到spring容器中,自动注入才能生效,不然直接一个NullPointerExecption

@SpringBootTest(classes = SpringBootShardingsphereDemoApplication.class)

该注解是用到类名上,表示自动启动加载类或指定某个或多个加载启动类,默认会加载当前module下的启动类

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 解决没有@RunWith 和 @SpringBootTest注解或失效问题

    导入别人的项目 或者 自己想创建一个测试类 经常会遇见了这个问题没有@RunWith 和 @SpringBootTest注解或失效 网上搜了搜 全是我下面的第一个解决方案 第二个才是重点 解决方案 1 添加依赖 如果 你是springboot项目 pom文件中添加 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</

  • 解决@SpringBootTest 单元测试遇到的坑

    目录 @SpringBootTest单元测试的坑 1.环境 2.遇到的问题 3.解决方式 Test类运行单元测试失效 Test测试类无法执行完全问题 @SpringBootTest单元测试的坑 1.环境 spring boot 版本:2.4.3 2.遇到的问题 (1)@Before.@After 失效 (2)org.junit.runners.model.InvalidTestClassError: 3.解决方式 注意 import 的 junit 包的配套问题 #junit5 配套 impor

  • Springboot使用test无法启动问题的解决

    Springboot使用test无法启动 test无法启动,遇到 java.lang.IllegalStateException: Unable to find a @SpringBootConfiguration, you need to use报错信息 测试文件和启动文件是否才同一层目录下 SpringBootTest--踩坑错误 Spring boot降低了我们对spring开发的难度 采用了大量在的自动配置,我们只需要进行简单的基本配置,就能快速开发一个spring应用. 同样sprin

  • 测试springboot项目出现Test Ignored的解决

    目录 测试springboot项目出现Test Ignored 测试类不报错只提示Test ignored的解决 测试springboot项目出现Test Ignored 今天在写springBoot项目运行测试类时出现了以下问题: Test ignored. java.lang.IllegalStateException: Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration or @S

  • SpringBoot项目中@Test不出现可点击运行的按钮问题

    目录 @Test不出现可点击运行的按钮 单元测试中有了@Test注解但是idea没有执行的按钮 查阅了下资料,原理是 解决办法 扩展 @Test不出现可点击运行的按钮 SpringBoot项目的test包里用来做测试的*****Test类里面的@Test单元测试不起作用,即左边没有可以运行的按钮,如下图-1所示: 图-1 这时我们看到@SpringBootTest注解也有,@Test注解也有,但是左边没有可运行的按钮,原因是这个类和类里的方法都不是公开(public)的,需要在class前加上p

  • SpringBoot项目中的多数据源支持的方法

    1.概述 项目中经常会遇到一个应用需要访问多个数据源的情况,本文介绍在SpringBoot项目中利用SpringDataJpa技术如何支持多个数据库的数据源. 具体的代码参照该 示例项目 2.建立实体类(Entity) 首先,我们创建两个简单的实体类,分别属于两个不同的数据源,用于演示多数据源数据的保存和查询. Test实体类: package com.example.demo.test.data; import javax.persistence.Entity; import javax.pe

  • SpringBoot项目中使用redis缓存的方法步骤

    本文介绍了SpringBoot项目中使用redis缓存的方法步骤,分享给大家,具体如下: Spring Data Redis为我们封装了Redis客户端的各种操作,简化使用. - 当Redis当做数据库或者消息队列来操作时,我们一般使用RedisTemplate来操作 - 当Redis作为缓存使用时,我们可以将它作为Spring Cache的实现,直接通过注解使用 1.概述 在应用中有效的利用redis缓存可以很好的提升系统性能,特别是对于查询操作,可以有效的减少数据库压力. 具体的代码参照该

  • SpringBoot项目中使用AOP的方法

    本文介绍了SpringBoot项目中使用AOP的方法,分享给大家,具体如下: 1.概述 将通用的逻辑用AOP技术实现可以极大的简化程序的编写,例如验签.鉴权等.Spring的声明式事务也是通过AOP技术实现的. 具体的代码参照 示例项目 https://github.com/qihaiyan/springcamp/tree/master/spring-aop Spring的AOP技术主要有4个核心概念: Pointcut: 切点,用于定义哪个方法会被拦截,例如 execution(* cn.sp

  • 在SpringBoot项目中利用maven的generate插件

    使用maven 插件 generate生成MyBatis相关文件 在项目中增加 maven 依赖 - mybatis-spring-boot-starter - mysql-connector-java - mybatis-generator-maven-plugin 插件 自动读取 resources 下的generatorConfig.xml 文件 <?xml version="1.0" encoding="UTF-8"?> <project

  • SpringBoot项目中处理返回json的null值(springboot项目为例)

    在后端数据接口项目开发中,经常遇到返回的数据中有null值,导致前端需要进行判断处理,否则容易出现undefined的情况,如何便捷的将null值转换为空字符串? 以SpringBoot项目为例,SSM同理. 1.新建配置类(JsonConfig.java) import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.core.JsonProcessingException; import com.f

  • SpringBoot项目中的视图解析器问题(两种)

    前言:SpringBoot官网推荐使用HTML视图解析器,但是根据个人的具体业务也有可能使用到JSP视图解析器,所以这里我给大家简单介绍一下这两种视图解析器的具体使用 一.解析成JSP页面 1.在pom.xml文件中添加相关依赖 <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> </dependency> &

  • SpringBoot项目中分页插件PageHelper无效的问题及解决方法

    在Springboot项目中使用分页插件的时候 发现PageHelper插件失效了 我导入的是: 后来才发 <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.1.10</version> </dependency> 现 PageHelper若要在Springbo

  • 关于在IDEA中SpringBoot项目中activiti工作流的使用详解

    记录一下工作流的在Springboot中的使用,,顺便写个demo,概念,什么东西的我就不解释了,如有问题欢迎各位大佬指导一下. 1.创建springboot项目后导入依赖 <dependency> <groupId>org.activiti</groupId> <artifactId>activiti-spring-boot-starter-basic</artifactId> <version>6.0.0</version&

  • 浅谈springboot项目中定时任务如何优雅退出

    在一个springboot项目中需要跑定时任务处理批数据时,突然有个Kill命令或者一个Ctrl+C的命令,此时我们需要当批数据处理完毕后才允许定时任务关闭,也就是当定时任务结束时才允许Kill命令生效. 启动类 启动类上我们获取到相应的上下文,捕捉相应命令.在这里插入代码片 @SpringBootApplication /**指定mapper对应包的路径*/ @MapperScan("com.youlanw.kz.dao") /**开启计划任务*/ @EnableScheduling

随机推荐