JUnit:NoClassDefFoundError:org/junit/runner/manipulation/Filter

luc*_*uta 16 java junit

当我尝试运行某些单元测试时,会引发以下错误:

java.lang.NoClassDefFoundError: org/junit/runner/manipulation/Filter
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:190)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadTestLoaderClass(RemoteTestRunner.java:320)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.createRawTestLoader(RemoteTestRunner.java:310)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.createLoader(RemoteTestRunner.java:305)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.defaultInit(RemoteTestRunner.java:283)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.init(RemoteTestRunner.java:207)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:191)
Run Code Online (Sandbox Code Playgroud)

我必须提到junit-4.11.jar被添加到项目构建路径中.有任何想法吗?

mmw*_*kar 32

即使我遇到同样的问题,请尝试以下步骤 -

  1. 右键单击Package Explorer中的项目,然后单击"属性".
  2. 单击"库"选项卡.
  3. 单击"添加库"按钮.
  4. 选择JUnit,然后单击Next.
  5. 选择JUnit 4(这就是我正在使用的).
  6. 点击完成.
  7. 现在右键单击包含单元测试的文件,然后选择Properties.
  8. 在"运行/调试"设置下,从该文件的"启动配置"中删除所有条目.点击确定.

希望你现在能够运行测试.

  • 对我来说,主要是删除启动配置的第二部分.Junit可能在Eclipse中设置不同(单独的lib项目,maven依赖等) (5认同)

use*_*153 13

将 JUnit 库添加到 Modulepath 而不是 Classpath 可能会导致此错误。

在 Eclipse 最左边的面板“包资源管理器”中右键单击您的项目转到属性然后转到“Java 构建路径”单击“类路径”而不是“模块路径”单击“添加库...”然后是 Junit。

在此处输入图片说明

在此处输入图片说明