Защо hamcrest any(Myclass.class) изисква кастинг

Обикновено използвам Hamcrest така:

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

тогава се опитах да напиша същия синтаксис на това:

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

Но получих грешка при компилиране, която ме принуди да префакторирам кода си към това:

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

Защо изведнъж се наложи кастинг?

Как мога да го избегна, ако изобщо мога?


person Elad Benda    schedule 29.10.2014    source източник
comment
Мисля, че това е въпрос на mockito, а не на hamcrest.   -  person schnitz    schedule 29.10.2014


Отговори (1)


Според коментара на Doppelganger относно отговора на Използване на общия метод any() на Mockito, вие Имам конфликт между any() на hamcrest и any() на mockito.

person schnitz    schedule 29.10.2014
comment
Или статично импортирайте само предвидения (който според мен всъщност е mockito), или импортирайте този клас нестатично, или напълно квалифицирайте препратката. - person schnitz; 01.11.2014