问题在于,从Hamcrest和Mockito进行的静态导入具有相似的名称,但分别返回Matchers和实值。
一种解决方法是简单地复制Hamcrest和/或Mockito类并删除/重命名静态函数,以使它们更容易记住并且在自动完成中较少出现。那就是我所做的。
另外,在使用模拟时,我尽量避免
assertThat偏爱其他other
assertions和
verify,例如
assertEquals(1, 1);verify(someMock).someMethod(eq(1));
代替
assertThat(1, equalTo(1));verify(someMock).someMethod(eq(1));
如果您从Eclipse中的“收藏夹”中删除类,并键入长名称(例如)
org.hamcrest.Matchers.equalTo,然后对“ Add
import”添加CTRL + SHIFT +
M,则自动完成功能只会显示Hamcrest匹配器,而不会显示任何Mockito匹配器。只要您不混合匹配器,就可以用另一种方式进行。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)