Eclipse - 未找到测试运行程序“JUNIT 4”的测试

Posted

技术标签:

【中文标题】Eclipse - 未找到测试运行程序“JUNIT 4”的测试【英文标题】:Eclipse - No tests found with test runner 'JUNIT 4' 【发布时间】:2021-10-25 09:02:32 【问题描述】:

我从 start.spring.io 生成了一个 spring boot 项目并将其导入到 STS 中。我正在观看的教程希望在继续之前运行 JUNIT 测试。但是,当我尝试运行 Junit 测试时,我收到以下错误“No tests found with test runner 'JUNIT 4'.

还使用以下依赖项进行了测试

<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.12</version>
</dependency>

关于如何解决此问题的任何建议?

我怀疑class DevopsApplicationTests。如果我添加 class DevopsApplicationTests extends TestCase 然后单元测试工作但失败。不知道什么应该是正确的代码。

在测试“import org.junit.Test”时,我看到以下错误。

尝试“import junit.framework.Test;”时我还收到“没有像以前一样使用测试运行器'JUNIT 4'找到测试,但在“@Test”附近也有错误。

【问题讨论】:

Java 5? JUnit 3?你所选择的真的是你想要的吗?项目文件夹有一个错误标记,这意味着您忽略了一些错误。 需要做什么?我正在尝试重新导入并检查错误。仍然junit错误与项目错误无关吗? 我猜你错过了在 pom.xml 中指定 Java 版本,因此将使用 Java 5。查看Problems 视图中的错误列表。顺便说一句,您的 Eclipse 看起来已经过时了。因此,也可能是您使用的是较新的 Java,根本原因是您错过了升级 Eclipse。 Pom.xml 中提到了 Java 11。不知道为什么它使用 java 5 升级您的 Eclipse 并提供minimal reproducible example。 retrocomputing 有一个单独的堆栈交换。 【参考方案1】:

您使用了错误的导入。

org.junit.jupiter.api.Test 是 JUnit 5 的注解。

对于 JUnit 4,您需要 import junit.framework.Test

顺便说一句,STS 的最新版本是 3.8.0,于 2017 年发布,基于 2016 年的 Eclipse Neon。

STS 已弃用,取而代之的是“Spring Tools 4 for Eclipse”:https://spring.io/tools

【讨论】:

import org.junit.Test 似乎有效,但单元测试失败了。我还发布了 Junit 4 import 的输出。你能查一下吗? 您得到的错误是因为 JUnit 4 不支持测试非公共方法。您可能是从使用 JUnit 5 的人那里复制粘贴的。我建议您放弃 STS,从新的 Spring Tools 4 for Eclipse 开始,然后使用 JUnit 5 运行。 好的是import org.junit.Test;junit 3 方法吗?测试结果是可以修复的吗?我还是新手,所以不想偏离导师的方法。【参考方案2】:

将课程设为 Public 解决了这个问题。

package com.example.devops;

// import org.junit.jupiter.api.Test;
import org.junit.Test;
import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest
public class DevopsApplicationTests 

    @Test
    public void contextLoads() 
    


【讨论】:

以上是关于Eclipse - 未找到测试运行程序“JUNIT 4”的测试的主要内容,如果未能解决你的问题,请参考以下文章

Eclipse/Maven:运行 JUnit 测试时未编译它们

Eclipse / Maven:JUnit测试在运行时未编译

从 ant 执行的 junit 测试未加载 DLL

Eclipse中的junit不运行怎么解决

JUnit:通过 eclipse 和 maven 测试运行。速度差别很大,为啥?

在 Eclipse 中运行 JUnit 测试会引发 SecurityException