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测试在运行时未编译