Eclipse 没有发现使用 JUnit 5 的测试,这是由 LauncherFactory 的 NoClassDefFoundError 引起的 [英] Eclipse No tests found using JUnit 5 caused by NoClassDefFoundError for LauncherFactory

查看:66
本文介绍了Eclipse 没有发现使用 JUnit 5 的测试,这是由 LauncherFactory 的 NoClassDefFoundError 引起的的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

每当我运行我的项目 JUnit 测试(使用 Java 9 和 Eclipse Oxygen 1.a 的 JUnit 5)时,我都会遇到 eclipse 找不到任何测试的问题.

Whenever I run my projects JUnit test (using JUnit 5 with Java 9 and Eclipse Oxygen 1.a) I encounter the problem that eclipse can't find any tests.

在运行配置下,eclipse甚至找不到@Test注解的方法,而是只显示(all methods)".下图希望能更好地了解我的设置:

Under the run configuration, eclipse can't even find the method which is annotated with @Test, but instead only shows me "(all methods)". The following picture hopefully gives a better glimps of my setup:

java.lang.NoClassDefFoundError: org/junit/platform/launcher/core/LauncherFactory
    at org.eclipse.jdt.internal.junit5.runner.JUnit5TestLoader.<init>(JUnit5TestLoader.java:31)
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.base/java.lang.reflect.Constructor.newInstance(Unknown Source)
    at java.base/java.lang.Class.newInstance(Unknown Source)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.createRawTestLoader(RemoteTestRunner.java:368)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.createLoader(RemoteTestRunner.java:363)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.defaultInit(RemoteTestRunner.java:307)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.init(RemoteTestRunner.java:222)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:206)
Caused by: java.lang.ClassNotFoundException: org.junit.platform.launcher.core.LauncherFactory
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source)
    at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
    ... 11 more

到目前为止我尝试了什么

我已经试过了

  • 从构建路径中删除测试文件夹并重新添加.
  • 将鼠标悬停在用@Test 注释的方法上开始测试,然后单击作为 JUnit 测试运行".
  • 从 Buildpath 中删除 JUnit 并重新添加
  • 重启eclipse
  • 我还将整个项目从一台机器移到另一台机器上,并在那里使用提供的 eclipse 安装进行了尝试
  • 重命名测试方法.
  • 重新输入@Test 注释

其中一些步骤可以在这里找到,但最终问题依旧.

Some of these steps can be found here, but in the end the problem remained.

推荐答案

SIMPLE FIX:(添加 JUnit 5 库)

SIMPLE FIX: (Add JUnit 5 Library)

说明:

  • 右键单击项目 -> 构建路径 -> 配置构建路径
  • 在弹出窗口中 -> 添加库 -> JUnit -> JUnit 5 -> 完成 -> 应用
  • 您应该会看到 JUnit 5 库(及其 jar)已添加到您的项目中
  • 右键单击项目 -> Maven -> 更新项目 -> 确定

这篇关于Eclipse 没有发现使用 JUnit 5 的测试,这是由 LauncherFactory 的 NoClassDefFoundError 引起的的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆