在junit

时间:2016-07-18 14:29:37

标签: java junit junit4 hamcrest

我在junit-dep jar的顶部有hamcrest-all-1.3,当我使用ant运行时仍然会遇到此异常。但是,Eclipse足够智能以解决此冲突并且测试可行。我没有在我的类路径上有mockito,但是,确实有jmockit和easymock,我认为这不是问题。这是断言:

import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.lessThanOrEqualTo;
/* ...
...
... */


 assertThat(10, lessThanOrEqualTo(20));

例外是

  

[junit] org / hamcrest / Matchers

     

[junit] java.lang.NoClassDefFoundError:org / hamcrest / Matchers

2 个答案:

答案 0 :(得分:3)

你需要两个hamcrest罐子来解决这个问题,正如Stefan所说。 junit-4.12.jar,hamcrest-core-1.3.jar和hamcrest-library-1.3.jar

答案 1 :(得分:0)

解决此类问题的一种方法:在eclipse中,将光标置于"断言"然后按F3。

这会将您带到相应类/方法后面的源。可能你最后会看到一个空窗口,告诉你:

类文件编辑器

未找到来源

然后告诉你实际上要找到assertT的JAR文件的名称;在我的情况下,它将是junit-4.11.jar。

所以,长话短说:检查你的构建设置是否包含JUnit jar。