我在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
答案 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。