使用Gradle执行单个JUnit5测试

时间:2017-08-04 13:34:31

标签: java gradle junit5

我试图只从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());
      }
    } 

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

  • IntellijIDEA 2017.1.5,
  • Gradle,
  • junitPlatformVersion ='1.0.0-M6',
  • junitJupiterVersion ='5.0.0-M6'

2 个答案:

答案 0 :(得分:1)

对于初学者,您的Junit5Test课程是“测试课程”。

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

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

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

答案 1 :(得分:0)

我通过替换

解决了这个问题
gradle -Dtest.single=Junit5Test test

gradle -DjunitPlatformTest.single=Junit5Test test