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

使用Gradle执行单个JUnit5测试

闻人思聪
2023-03-14
gradle -Dtest.single=Junit5Test test
gradle test --tests ru.tests.runner.Junit5Test
public class Junit5Test {

      public static void main(String[] args) {
        LauncherDiscoveryRequest request = LauncherDiscoveryRequestBuilder.request()
            .selectors(
                selectPackage("ru.tests.api")
            )
            .build();

        Launcher launcher = LauncherFactory.create();
        launcher.execute(request, new TestExecutionListener());
      }
    } 

右键点击Run可以很好地工作。我用

  • Intellijidea 2017.1.5,
  • Gradle,
  • JunitPlatformVersion='1.0.0-M6',
  • JunitJupiterVersion='5.0.0-M6'

共有1个答案

岳彬炳
2023-03-14

对于初学者来说,Junit5Test类不是“测试类”。

相反,它是一个独立的应用程序(即,具有main()方法的Java类)。

因此,试图用Gradle将其作为“测试”来执行是行不通的。

 类似资料:
  • 问题内容: Maven执行 我正在尝试使用我的一个Maven项目,但在此阶段无法使用- 我得到的输出是- 尝试实施上述解决方案@ Surefire没有采用Junit5测试来将依赖关系更新为- 并将插件更新为- 但输出保持不变。 问题 -这是自定义提供没有更多的支持,或者是有什么解决方案使用执行测试,和/或 现在? 注意 -测试执行在JUnit-4上运行良好。 问题答案: 您应该像这样配置maven

  • Gradle4.6增加了对JUnit5的支持。 只要我没有用于例如集成测试的另一个sourceset,这对我是有效的:我不知道如何在我的集成测试中启用。 我所能做的是让任务与新的JUnit5支持一起工作,但我的任务使用JUnit5控制台并从命令行运行测试。最后,我在gradle中放弃对JUnit5的支持,并回滚到使用JUnit5控制台进行两个测试。 除了之外,如何在其他任务上启用Gradle4.6

  • Maven执行 问题-这个自定义提供程序是否不再受支持,或者是否有任何解决方案可以使用、和/或执行测试? 注意-测试执行在JUnit-4中运行良好。

  • 使用Gradle及其JUnit4支持,我可以使用选项选择特定的测试,如下所示: 在使用JUnit5 Gradle任务时,此选项无效。当从命令行使用任务时,它会被无人值守地忽略。真正的工作是由完成的,它不支持以下选项: JUnit5插件支持选择特定的测试吗?

  • 在我的基于gradle和kotlin的项目中,我有一些子模块。it模块的生成配置(Build.gradle.kts): 我尝试在这个模块中运行一些简单测试 当我试图运行测试时,我得到错误: 但是,如果从我的构建配置中删除id(“io.spring.dependency-management”)版本“1.0.7.release”,并将使用类似这样的Spring Boot版本(“org.springf