不能运行考试class"No tests found with test runner 'Junit5'"
Cant run the test class "No tests found with test runner 'Junit5'"
我创建了一个简单的 Maven java 应用程序,我试图在其中 运行 测试用例。
当作为 JunitTestCase 执行 运行 时,它会弹出一个 window 说明 “没有找到测试 运行ner 'JUnit5'".
和 控制台:
Java.lang.NoClassDefFoundError: org/junit/platform/engine/TestEngine
> at
> org.junit.platform.launcher.core.ServiceLoaderTestEngineRegistry.loadTestEngines(ServiceLoaderTestEngineRegistry.java:35)
> at
> org.junit.platform.launcher.core.LauncherFactory.create(LauncherFactory.java:87)
> at
> org.junit.platform.launcher.core.LauncherFactory.create(LauncherFactory.java:67)
> at
> org.eclipse.jdt.internal.junit5.runner.JUnit5TestLoader.<init>(JUnit5TestLoader.java:34)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> Method) at
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
> at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
> at java.lang.Class.newInstance(Class.java:442) at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.createRawTestLoader(RemoteTestRunner.java:371)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.createLoader(RemoteTestRunner.java:366)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.defaultInit(RemoteTestRunner.java:310)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.init(RemoteTestRunner.java:225)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:209)
> Caused by: java.lang.ClassNotFoundException:
> org.junit.platform.engine.TestEngine at
> java.net.URLClassLoader.findClass(URLClassLoader.java:382) at
> java.lang.ClassLoader.loadClass(ClassLoader.java:418) at
> sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355) at
> java.lang.ClassLoader.loadClass(ClassLoader.java:351) ... 14 more
我的 pom.xml 有:
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.7.1</version>
<scope>test</scope>
</dependency>
以及使用: org.junit.jupiter.api.Test
PS:- 我已经在使用 JUnit5 注释了。
并使用“运行 as maven-test”零测试 运行 即将到来。
你只依赖 api,给你例如注释,但是您缺少执行测试的引擎。添加 junit-jupiter-engine
作为依赖项或切换到便利依赖项 junit-jupiter
.
查看 Maven 入门示例 (https://github.com/junit-team/junit5-samples/tree/r5.7.1/junit5-jupiter-starter-maven),了解如何为 junit5 获得最小功能 pom.xml。
我创建了一个简单的 Maven java 应用程序,我试图在其中 运行 测试用例。
当作为 JunitTestCase 执行 运行 时,它会弹出一个 window 说明 “没有找到测试 运行ner 'JUnit5'".
和 控制台:
Java.lang.NoClassDefFoundError: org/junit/platform/engine/TestEngine
> at
> org.junit.platform.launcher.core.ServiceLoaderTestEngineRegistry.loadTestEngines(ServiceLoaderTestEngineRegistry.java:35)
> at
> org.junit.platform.launcher.core.LauncherFactory.create(LauncherFactory.java:87)
> at
> org.junit.platform.launcher.core.LauncherFactory.create(LauncherFactory.java:67)
> at
> org.eclipse.jdt.internal.junit5.runner.JUnit5TestLoader.<init>(JUnit5TestLoader.java:34)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> Method) at
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
> at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
> at java.lang.Class.newInstance(Class.java:442) at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.createRawTestLoader(RemoteTestRunner.java:371)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.createLoader(RemoteTestRunner.java:366)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.defaultInit(RemoteTestRunner.java:310)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.init(RemoteTestRunner.java:225)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:209)
> Caused by: java.lang.ClassNotFoundException:
> org.junit.platform.engine.TestEngine at
> java.net.URLClassLoader.findClass(URLClassLoader.java:382) at
> java.lang.ClassLoader.loadClass(ClassLoader.java:418) at
> sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355) at
> java.lang.ClassLoader.loadClass(ClassLoader.java:351) ... 14 more
我的 pom.xml 有:
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.7.1</version>
<scope>test</scope>
</dependency>
以及使用: org.junit.jupiter.api.Test
PS:- 我已经在使用 JUnit5 注释了。 并使用“运行 as maven-test”零测试 运行 即将到来。
你只依赖 api,给你例如注释,但是您缺少执行测试的引擎。添加 junit-jupiter-engine
作为依赖项或切换到便利依赖项 junit-jupiter
.
查看 Maven 入门示例 (https://github.com/junit-team/junit5-samples/tree/r5.7.1/junit5-jupiter-starter-maven),了解如何为 junit5 获得最小功能 pom.xml。