java - 使用 Gradle 执行单个 JUnit5 测试

标签 java gradle junit5

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

gradle -Dtest.single=Junit5Test test
gradle test --tests ru.tests.runner.Junit5Test

但它会运行项目的所有测试。我只需要运行一个测试类。这是我的类(class):

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'

最佳答案

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

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

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

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

关于java - 使用 Gradle 执行单个 JUnit5 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45508263/

相关文章:

java - 无法找到或加载主类 org.apache.hadoop.mapreduce.v2.app.MRAppMaster

java - usingRecursiveFieldByFieldElementComparator 不起作用

spring-test - JDK 9 : JUnit 5 test compile with SpringExtension produces java. lang.NoClassDefFoundError: org/w3c/dom/ls/DocumentLS

java - 不使用 setXXXSize 的 JComboBox 的 Swing BoxLayout 问题

java - WebDriverException : java.net.ConnectException:无法在 MacOS 上使用 Selenium 3 和 chromedriver 连接到本地主机错误

gradle - build.gradle 有什么问题?得到 UnsatisfiedLinkError 因为它缺少我的 so 文件

java - 升级到 Java 11 : -Djava. endorsed.dirs 不支持

plugins - Gradle插件项目版本号

java - 当 JUnit 5 没有 assertThat() 函数时,如何将 Hamcrest 与 JUnit 5 一起使用?

java - 在API中使用静态工厂方法