欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java错误分析之junit测试错误(实验一)

程序员文章站 2022-06-04 22:55:22
junit使用过程中报错:java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoad... ......

  原文:

下载了最新的junit版本,是4.12,结果尝试使用发现总是报java.lang.noclassdeffounderror: org/hamcrest/selfdescribing这样的错误,

上网查了一下,一般的解决方案是,换一个低一点的版本就好了。还有人说,是缺少hamcrest的包。去官网又看了一下,结果发现这样一段话:

  • junit.jar: includes the hamcrest classes. the simple all-in-one solution to get started quickly.starting with version 4.11, hamcrest is no longer included in this jar.
  • junit-dep.jar: only includes the junit classes but not hamcrest. lets you use a different hamcrest version.

  注意黑色加下划线的部分。说明4.1.2中没有hamcrest包了,不知道作者是怎么想的。

 

最好的解决方法是:

(1)换成junit-4.8.jar

(2)junit-4.12.jar + hamcrest-core-1.3.jar

下载链接:

junit-4.12.jar

hamcrest-core-1.3.jar

 

新增:

本人使用的是junit-4.1.1版本,报错,然后下载了hamcrest-core-1.3.jar,包,导入项目后正常运行,下面是测试案例:

java错误分析之junit测试错误(实验一)

java错误分析之junit测试错误(实验一)

 

以上是没有增加hamcrest-core-1.3.jar包,接下来加入该包:

 java错误分析之junit测试错误(实验一)

到此,问题解决!