使用Gradle执行单个JUnit5测试

问题描述 投票:2回答:2

我试图只从Gradle运行一个测试类。我使用了这些命令:

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());
      }
    } 

通过右键单击运行,它可以完美运行。我用

  • Intellij IDEA 2017.1.5,
  • 摇篮,
  • 单位平台版本= 1.0.0-鼠标,
  • JunJupiterVersion ='5.0.0-M6'
java gradle junit5
2个回答
1
投票

首先,你的Junit5Test课程不是“考试类”。

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

因此,尝试使用Gradle将其作为“测试”执行将永远不会起作用。

如果您想使用Gradle运行JUnit Jupiter测试(或在JUnit平台上运行的任何其他测试),您应该使用JUnit Platform Gradle Plugin(这是指向JUnit 5用户指南的相应部分的链接)。


0
投票

我通过更换来解决它

gradle -Dtest.single=Junit5Test test

gradle -DjunitPlatformTest.single=Junit5Test test
© www.soinside.com 2019 - 2024. All rights reserved.