我使用hamcrest匹配器创建了一个测试套件,一切正常,直到我在另一台机器上移动项目。
我得到的错误是:
The method assertThat(T, Matcher<? super T>) in the type MatcherAssert is not applicable
for the arguments (Object, Matcher<Double>)
为什么我得到它以及如何修复的任何想法?
此错误并不会出现在遇到的所有断言中,有些被认为是正确的,即使它们有匹配的双倍......
答案 0 :(得分:1)
首先,您应该说明您获得的错误是在编译时而不是运行时。问题是Double
不是super
的{{1}}。因此,在编译时调用Object
并不符合所需的签名。但是,这将在运行时正常工作,因为assertThat(someObject, someDoubleMatcher)
将检查类型。
可以选择......
Matcher