Hamcrest断言在项目移动时不起作用

时间:2014-07-25 12:36:22

标签: java unit-testing junit hamcrest

我使用hamcrest匹配器创建了一个测试套件,一切正常,直到我在另一台机器上移动项目。

我得到的错误是:

The method assertThat(T, Matcher<? super T>) in the type MatcherAssert is not applicable  
for the arguments (Object, Matcher<Double>)

为什么我得到它以及如何修复的任何想法?

此错误并不会出现在遇到的所有断言中,有些被认为是正确的,即使它们有匹配的双倍......

1 个答案:

答案 0 :(得分:1)

首先,您应该说明您获得的错误是在编译时而不是运行时。问题是Double不是super的{​​{1}}。因此,在编译时调用Object并不符合所需的签名。但是,这将在运行时正常工作,因为assertThat(someObject, someDoubleMatcher)将检查类型。

可以选择......

Matcher