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日

相关文章

  • 轻松搞定iOS远程消息推送

    轻松搞定iOS远程消息推送 简介 iOS远程消息推送(Remote Notifications)可用于在设备离线或应用未激活的情况下向用户发送通知。本文将讲解如何使用APNs(Apple Push Notification service)实现iOS远程消息推送。 步骤 1. 获取权限 首先,你需要在Apple Developer网站上注册并创建一个应用程序…

    other 2023年6月27日
    00
  • fedora20安装hadoop-2.5.1

    下面是“Fedora20安装Hadoop-2.5.1”的完整攻略,包括安装Java、安装Hadoop、配置Hadoop等方面,以及两个示例说明。 安装Java 在安装Hadoop之前,需要先安装Java。可以按照以下步骤进行安装: 下载Java安装包,可以从官网(https://www.oracle.com/java/technologies/javase-…

    other 2023年5月5日
    00
  • 如何在iOS中高效的加载图片详解

    如何在iOS中高效的加载图片详解 为什么需要高效加载图片? 在iOS应用中,我们通常会使用图片作为应用的重要元素。然而,加载图片是一个很耗费时间和资源的过程。如果不进行优化,可能会导致应用性能下降,出现卡顿或者卡死等问题。因此,我们需要使用一些技巧和工具来高效地加载图片。 高效加载图片的技巧 1. 图片压缩 对于超过屏幕显示大小的图片,我们需要进行压缩处理。…

    other 2023年6月25日
    00
  • 详解string类中的intern()方法

    详解string类中的intern()方法 在Java中,字符串是一种常见的数据类型,有很多方法可以用来操作和处理字符串。其中,intern()方法是非常常用的字符串处理方法之一。intern()方法可以返回面向字符串常量池的字符串,而且只要字符串相等,就会返回相同的字符串。本文将详细介绍intern()方法及其使用场景。 String类中的intern()…

    其他 2023年3月28日
    00
  • SpringBoot 配置文件加载位置与优先级问题详解

    下面我来详细讲解一下 Spring Boot 配置文件加载位置与优先级问题的攻略。 1. Spring Boot 配置文件的加载位置 Spring Boot 配置文件的加载位置非常灵活,可以根据不同的需求和情况进行配置。Spring Boot 配置文件的加载位置可以分为以下三种情况: 1.1 classpath下的默认加载位置 Spring Boot 默认会…

    other 2023年6月25日
    00
  • 在Linux操作系统上运行Windows应用程序

    在Linux操作系统上运行Windows应用程序的完整攻略包含以下几个步骤: 安装Wine Wine是一个能够在Linux操作系统上运行Windows应用程序的免费软件,需要先安装Wine。 sudo apt-get install wine 检查Wine版本 检查安装的Wine版本是否适用于要安装的Windows应用程序。 wine –version 下…

    other 2023年6月25日
    00
  • Java中this和super关键字的使用详解

    Java中this和super关键字的使用详解 1. this关键字 this关键字用于引用当前对象,它可以用来访问成员变量、成员方法、构造方法以及作为函数参数传递当前对象。 1.1 引用成员变量 在Java中,成员变量和局部变量可以重名,如果要在方法中使用成员变量而不是局部变量,可以使用this关键字。 public class Person { priv…

    other 2023年6月26日
    00
  • 如何修复在Win 11/10 中复制时无法从源文件或磁盘读取的问题

    修复在Win 11/10中复制时无法从源文件或磁盘读取的问题的攻略如下: 1. 检查磁盘错误 可能该磁盘出现了一些错误,导致无法读取。我们可以通过以下步骤进行磁盘错误检查: 打开“文件资源管理器”或“此电脑”,找到需要检查的磁盘。 右键点击该磁盘,选择“属性”。 点击“工具”选项卡,点击“错误检查”。 点击“扫描驱动器”或“检查”按钮,开始扫描和修复磁盘错误…

    other 2023年6月26日
    00
合作推广
合作推广
分享本页
返回顶部