我收到以下异常:
java.lang.NoClassDefFoundError: org/junit/platform/engine/ConfigurationParameters
at org.eclipse.jdt.internal.junit5.runner.JUnit5TestLoader.<init>(JUnit5TestLoader.java:34)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:64)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)
at java.base/java.lang.reflect.ReflectAccess.newInstance(ReflectAccess.java:128)
at java.base/jdk.internal.reflect.ReflectionFactory.newInstance(ReflectionFactory.java:350)
at java.base/java.lang.Class.newInstance(Class.java:645)
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.ConfigurationParameters
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:606)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:168)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
... 13 more
在 Eclipse 项目中运行 JUnit 5(无 Maven)。有谁知道导致这个问题的原因是什么? Eclipse 版本:2020-12 JUnit 版本:5
我期望 JUnit 5 能够在 Eclipse 上运行,无需采取进一步行动。
我也遇到了同样的错误。
解决方案:我必须将 JUnit 库添加到构建路径中。右键单击类 -> 构建路径 -> 配置构建路径 -> 添加库 -> 添加 JUnit
此时,不应将新库添加到模块路径,而是添加到整个类路径。
JUnit 测试现在正在为我运行,尽管我遇到了与@AlBlue 相同的错误。
我遇到这个问题是因为我将 JUnit 5 的构建路径配置到了模块路径。相反,您需要在类路径中配置它。
编辑 正如评论中提到的: 可以将库添加到构建路径和模块路径的两个位置。如果您在模块路径上添加 Junit,则类不可见,因为它们未打包在模块中
看起来您缺少 JUnit 的依赖项之一,这意味着该类未加载。检查您是否已准备好所有必要的依赖项,特别是如果您不使用 Maven 等构建工具。
将 Junite 库添加到 Classpath 而不是 Modulepath,在 Java 构建路径窗口中,它解决了我的问题
当我意外导入 org.junit.jupiter.api.Test 注释而不是 org.junit.Test 注释时,我遇到了同样的问题。 奇怪的是,mvn clean install使用任一注释都可以很好地执行测试。
我的问题已解决,因为我尝试在 STS 4 MacOS 上运行 junit 测试类。我做到了:
添加 JUnit 5 Jupiter 文件所需的所有 jar 文件 -
或在 pom.xml 文件中添加依赖项
<dependency>
<groupId>com.github.lemfi.kest</groupId>
<artifactId>junit5</artifactId>
<version>0.6.8</version>
</dependency>