问题描述
以下测试代码在IDEA中可以编译成功,在Eclipse中无法编译。来自 Eclipse 的消息是:
Matchers 类型中的 allOf(Matcher super T>,Matcher super T>) 方法不适用于参数 (Matcher
我认为 allOf() 的第一个参数的类型被推断为 Matcher
public class HamTest {
@Test
public void test() {
Double s[] = { 23.0,65.0 };
assertthat(s,allOf(arrayWithSize(2),arrayContaining(lessthan(25.0),greaterThan(30.0))));
}
}
解决方法
我明白了。我认为 ECJ 编译器错误地将 Matcher
Matchers.<Double>arrayWithSize(2)