我在这里错过了什么吗?
@Test
public void testAnything(){
Random random = new Random();
assertThat(random.nextInt(), is(equalTo(anything())));
}
这不编译。 Eclipse抱怨“类型MatcherAssert中的方法assertThat(T,Matcher)不适用于参数(int,Matcher>)”
有什么东西我错过了使用任何东西()?我过去使用过其他的Hamcrest方法......那么这有什么不同呢?
答案 0 :(得分:2)
这不是equalTo
的工作方式。它在内部调用Object#equals(Object)
,必须通过anything()
。这没有意义。只需省略它就可以了:
Random random = new Random();
assertThat(random.nextInt(), is(anything()));