我试图从 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/