当前位置: 首页 > 面试题库 >

java.lang.NoClassDefFoundError:Intellij中的org / hamcrest / SelfDescribing

洪和平
2023-03-14
问题内容

我使用了Intellij Idea 12社区版。我试图通过创建测试用例为我的班级创建测试用例。当我运行测试用例时,它说

java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
    at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    at org.junit.internal.builders.JUnit4Builder.runnerForClass(JUnit4Builder.java:10)
    at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
    at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26)
    at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
    at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:26)
    at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:44)
    at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:195)
    at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:63)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
Caused by: java.lang.ClassNotFoundException: org.hamcrest.SelfDescribing
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    ... 25 more

我将如何在Intellij中运行测试用例。我将junit4.11 jar文件包含到我的模块中


问题答案:

您是否将hamcrest-core-1.3.jar文件包含在类路径中?如果不包括在内,则包括那个罐子,然后再试一次。



 类似资料:
  • Hamcrest是一个书写匹配器对象时允许直接定义匹配规则的框架.有大量的匹配器是侵入式的,例如UI验证或者数据过滤,但是匹配对象在书写灵活的测试是最常用.本教程将告诉你如何使用Hamcrest进行单元测试. Hamcrest从一开始就设计结合不同的单元测试框架.例如,Hamcrest可以使用JUnit3和4和TestNG.(详细查看完整Hamcrest发布中的例子).在一个现有的测试套件中迁移到

  • 有人能给我解释一下hamcrest是如何比较馆藏的,以及图书馆的不同方法是用来做什么的吗 我正在试图理解IsterableContainingAnyOrder#ContainingAnyOrder方法是如何工作的 ISiterableContainingAnyOrder类中有三个重载方法:

  • AssertJ中有来自Hamcrest的everyItem()的模拟吗? 但是在AssertJ中,无论如何,我都必须手动迭代列表。

  • 在中运行测试时,我得到以下: 我添加了库文件。 我尝试过junit.jar的不同版本:、等。 如何修复此异常?

  • 您好,我尝试将项目从Java6迁移到Java7(JDK1.7.0Ø21)。在一次测试中,我注意到失败。 更新:我调试了这个问题。我要找一个打字机。findExpectedType。 } JDK6和JDK7之间的顺序与c.getDeclaredMethods()中的顺序不同。我在两个版本上都进行了动态检查,这两种方法都将通过条件,因此,重要的是哪种方法将是列表中的第一个。 更新的问题是:hamcre

  • 有没有Hamcrest可以让我明确断言,返回对象的的方法的结果至少有一个对象包含具有特定值的属性? 例如: 测试下的方法返回一个的集合。我需要断言至少有一个人叫彼得。