【问题标题】:Eclipse - No tests found with test runner 'JUNIT 4'Eclipse - 未找到测试运行程序“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 exampleretrocomputing 有一个单独的堆栈交换。

标签: spring eclipse junit


【解决方案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() {
    }

}

【讨论】:

    猜你喜欢
    • 2011-01-20
    • 2020-03-25
    • 2013-12-02
    • 2018-10-11
    • 2012-06-02
    • 2016-03-30
    • 2020-04-11
    • 1970-01-01
    • 2020-04-17
    相关资源
    最近更新 更多