SpringBoot单元测试使用@Test没有run方法的解决方案

如果在使用SpringBoot进行单元测试时,使用Junit的@Test注解却出现了"No tests found with test runner 'JUnit 4'"的错误,则有可能是JUnit和SpringBoot版本不匹配所致。下面是解决方案的完整攻略。

确认版本

首先确认自己使用的JUnit和SpringBoot版本。在pom.xml文件中找到对应的依赖,例如:

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

<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <scope>test</scope>
</dependency>

以上依赖中,SpringBoot版本一般与spring-boot-starter-parent的版本一致,可以在pom.xml文件中找到:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.5.1</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>

而Junit版本则在junit:junit依赖中。

确认版本后,可以查看官方文档或者网络资源来确定JUnit和SpringBoot版本之间是否存在不兼容的问题。

解决方案

一般情况下,解决方案分为两种:一种是升级JUnit版本,另一种是使用与当前版本兼容的SpringBoot版本。具体做法如下:

升级JUnit版本

JUnit 5更加兼容Spring 5及以上版本,因此可以尝试升级Junit版本。具体方法是在pom.xml文件中修改junit:junit的版本:

<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>5.7.1</version>
    <scope>test</scope>
</dependency>

升级后,可以尝试使用JUnit 5的注解,例如@org.junit.jupiter.api.Test

使用与当前版本兼容的SpringBoot版本

如果升级JUnit版本无法解决问题,可以尝试换用与当前JUnit版本兼容的SpringBoot版本。具体做法是在pom.xml文件中修改org.springframework.boot:spring-boot-starter-test的版本:

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

修改后,可以使用@org.junit.Test注解进行单元测试。

示例

下面是两条示例说明:

示例1

假设当前使用的SpringBoot版本是2.5.1,而JUnit版本是4.13.2。在使用@Test注解时出现了问题,错误信息为"No tests found with test runner 'JUnit 4'"。

为了解决问题,我们可以升级JUnit版本。在pom.xml文件中修改junit:junit的版本:

<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>5.7.1</version>
    <scope>test</scope>
</dependency>

修改后,可以使用JUnit 5的注解进行单元测试,例如@org.junit.jupiter.api.Test

示例2

假设当前使用的JUnit版本是4.13.2,而SpringBoot版本是2.3.12.RELEASE。在使用@Test注解时出现了问题,错误信息为"No tests found with test runner 'JUnit 4'"。

为了解决问题,我们可以换用与当前JUnit版本兼容的SpringBoot版本。在pom.xml文件中修改org.springframework.boot:spring-boot-starter-test的版本:

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

修改后,可以使用@org.junit.Test注解进行单元测试。

以上就是“SpringBoot单元测试使用@Test没有run方法的解决方案”的完整攻略,希望能对大家有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot单元测试使用@Test没有run方法的解决方案 - Python技术站

(0)
上一篇 2023年6月26日
下一篇 2023年6月26日

相关文章

  • R语言中的vector(向量),array(数组)使用总结

    接下来我将介绍一下“R语言中的vector(向量),array(数组)使用总结”,主要包括以下几个部分: 向量(vector)的定义和使用 数组(array)的定义和使用 示例说明 1. 向量(vector)的定义和使用 向量是R语言中最基本的数据结构之一,它的定义方式很简单,只需要用c()函数把多个元素组合在一起即可,如下所示: # 定义一个向量 v &l…

    other 2023年6月25日
    00
  • JAVA对字符串进行32位MD5加密的实践

    JAVA对字符串进行32位MD5加密的实践攻略 简介 MD5(Message Digest Algorithm 5)是一种常用的哈希算法,用于对数据进行加密和校验。在JAVA中,可以使用java.security.MessageDigest类来实现对字符串进行32位MD5加密。 步骤 步骤一:导入相关类库 首先,需要导入java.security.Messa…

    other 2023年7月28日
    00
  • java获取当前日期的四种方法

    获取当前日期是Java开发中常见的需求。下面共有四种方法可以实现此功能。 方法一:使用Date类 使用Java自带的Date类可以方便地获取当前日期。代码如下: import java.util.Date; public class GetCurrentDate { public static void main(String[] args) { Date …

    其他 2023年4月16日
    00
  • idea怎么统计项目代码行数

    Idea怎么统计项目代码行数 如果你是一个程序员,你肯定知道,语言的本质是为了表达。通过语言我们可以表达出我们的想法和想要完成的任务。在我们的开发过程中,统计代码行数是非常常见的任务之一。Idea作为一个常见的开发工具,自然也有它自己的代码行数统计工具。 代码行数的重要性 为什么要统计代码行数呢?代码行数可以从多个方面来进行评估和优化程序。它可以帮助我们更好…

    其他 2023年3月29日
    00
  • maya怎么使用? maya的几何基础教程

    以下是使用Maya的基础教程,包括Maya的几何基础知识和示例说明: Maya的几何基础教程 步骤1:创建一个几何体 在Maya中,您可以使用多种方式创建几何体,例如: 使用菜单栏:选择“Create” > “Polygon Primitives” > 选择所需的几何体类型(如立方体、球体等)。 使用快捷键:按下Shift + Primitive…

    other 2023年10月15日
    00
  • Pycharm如何自动生成头文件注释

    PyCharm 自动添加头文件注释可以通过以下几个步骤完成: 打开 PyCharm。点击顶部菜单栏的 “Code” 选项,选择 “Insert File Header…”,进入编辑器。 在弹出的编辑框中,输入头文件注释的模板。可以设置该文件的创建人、创建时间、作者等信息。如下所示: #!/usr/bin/env python # -*- coding: …

    other 2023年6月27日
    00
  • elementui源码学习仿写el-link示例详解

    ElementUI源码学习仿写el-link示例详解攻略 1. 了解ElementUI源码结构 ElementUI是一个基于Vue.js的组件库,其中包含了很多常用的UI组件。首先,我们需要了解ElementUI源码的结构,这有助于我们更好地理解el-link组件的实现。 ElementUI源码通常包含以下几个目录: packages:ElementUI的核…

    other 2023年6月28日
    00
  • bat命令之for命令详解

    BAT命令之FOR命令详解 BAT是Windows操作系统中常用的脚本语言,常常用于批量处理文件、运行程序等。其中,FOR命令是BAT脚本中非常强大的一个命令,可以用于循环处理、批量操作等。本文将详细介绍FOR命令的各种用法。 基本语法 FOR命令的基本语法如下所示: for %variable in (set) do command 其中,%variabl…

    其他 2023年3月28日
    00
合作推广
合作推广
分享本页
返回顶部