当前位置: 首页 > 知识库问答 >
问题:

Eclipse一直说“没有找到测试运行程序JUnit5的测试”

廉雅惠
2023-03-14

我使用的是Eclipse Oxygen.3版本(4.7.3)。下面是我的JUnit测试类:

import static org.junit.Assert.assertEquals;

import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;

class MyMathTest {
    MyMath myMath = new MyMath();

    @Before
    public void before() {
        System.out.println("Before");
    }

    @After
    public void after() {
        System.out.println("After");
    }

    @Test
    public void testSum_with3numbers() {
        System.out.println("Test1");
        int result = myMath.sum(new int[] {1,2,3});
        int expected = 6;
        assertEquals(expected, result);
    }

    @Test
    public void testSum_with1numbers() {
        System.out.println("Test2");
        int result = myMath.sum(new int[] {3});
        int expected = 3;
        assertEquals(expected, result);
    }

    @BeforeClass
    public static void beforeClass() {
        System.out.println("Before class");
    }

    @AfterClass
    public static void afterClass() {
        System.out.println("After class");
    }

}

当我运行这个Junit测试时,eclipse不断弹出对话框,告诉我“没有tests found with test runner'JUnit5'”。为什么?

共有1个答案

弘烨烁
2023-03-14

您的测试类当前基于JUnit4,因为它使用org.JUnit包中的注释。

因此,要使它在Eclipse中作为JUnit4测试类运行,您需要在“run Configuration”中选择JUnit4运行程序。单击绿色圆圈旁边带有白色箭头的小箭头(指向下方)(位于Eclipse IDE顶部)。在那里您应该会看到您的测试类,通过选择该类,您可以在JUnit4和JUnit5运行程序之间切换。

另一方面,如果您的目标是使用JUnit Jupiter(即JUnit 5的编程模型)编写测试,则需要从org.JUnit中的注释切换到org.JUnit.Jupiter.api中的注释。

 类似资料:
  • 我使用的是Eclipse Oxygen.3版本(4.7.3)。以下是我的JUnit测试类: 当我运行这个JUnit测试时,eclipse不断弹出对话框,告诉“在测试运行程序'JUnit 5'中找不到测试”。为什么?

  • 我得堆栈: 想法2019.1.3 Springboot 2.1.6 Java 11 Maven 3.8.0 Groovy 2.5 史巴克1.3 JUnit jupiter 5.5.1 JUnit vintage 5.5.1 GMavenPlus插件2.7.1 我们想开始在Spock测试框架中编写测试。我跟着这个howto,但没有成功。当我尝试运行所有测试时,我的spock测试没有运行。 我能运行一

  • 我昨晚睡觉时所有的测试都出现了,今天重新加载了项目,无论我怎么尝试,VS测试运行程序都没有得到任何东西。 昨天,当我加载项目时,我遇到了类似的问题,但通过添加对Microsoft.DotNet.内部成就的引用来解决它 - 正如这篇文章所建议的那样:链接。但是,即使有参考文献,它现在也在做同样的事情。我现在也尝试了帖子中的几乎所有答案,但无济于事。 我已经与一个基本的控制台项目进行了比较,除了包含的

  • 我有一个用Maven建立的Java项目,我正在用Cucumber和jUnit进行测试。 也许我遗漏了一些东西,但是有没有一种方法可以设置Cucumber测试运行程序来自动运行jUnit测试以及Cucumber特性?不必运行两个单独的测试套件,并使用自动测试所有内容,这将是一件非常棒的事情。 目前,当我指定时,它只查找文件并忽略所有其他测试。 以下是我的测试文件结构: 还有我的测试运行程序,它目前只

  • 我有一个工作环境,包括我不管理的bom和JUnit5测试,除非我从如果我从它们不会被maven surefire插件拾取。我阅读了许多部分,并在一个较小的项目中进行了测试,它的工作和拾取,我不知道该在这篇文章中包含什么,因此您有足够的信息来查看问题所在。此外,如果有人能解释我阅读的导入的幕后内容,JUnit 4和5都需要使用surefire即 与版本 我很感激。 注意到 < li >我的测试都在s

  • 我已经从https://howtodoinjava.com/spring-batch/java-config-multiple-steps/'复制了Spring批处理程序。 我从https://docs.spring.io/spring-batch/docs/current/reference/html/testing.html创建了以下JUnit测试用例: 我的Maven pom文件是: 谢谢