我试图只从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());
}
}
通过右键单击运行,它可以完美运行。我用
首先,你的Junit5Test
课程不是“考试类”。
相反,它是一个独立的应用程序(即具有main()
方法的Java类)。
因此,尝试使用Gradle将其作为“测试”执行将永远不会起作用。
如果您想使用Gradle运行JUnit Jupiter测试(或在JUnit平台上运行的任何其他测试),您应该使用JUnit Platform Gradle Plugin(这是指向JUnit 5用户指南的相应部分的链接)。
我通过更换来解决它
gradle -Dtest.single=Junit5Test test
同
gradle -DjunitPlatformTest.single=Junit5Test test