为什么hamcrest any(Myclass.class)需要强制转换

时间:2014-10-29 11:22:04

标签: java unit-testing mockito hamcrest

我通常会像这样使用Hamcrest:

doNothing().when(entityManagerMock).persist(any(Point.class));

然后我尝试在此处编写相同的语法:

doNothing().when(locationTagsMock).persistLocationTag(any(LocationTag.class));

但是我遇到了编译错误 这迫使我重新考虑我的代码:

doNothing().when(locationTagsMock).persistLocationTag((LocationTag) any(LocationTag.class));

为什么突然需要施法?

如果有的话,我该如何避免呢?

1 个答案:

答案 0 :(得分:1)

根据Doppelganger对Using Mockito's generic "any()" method答案的评论,你在hamcrest的任何()和mockito的任何()之间发生冲突。