2013-08-07 1 views
0

У меня есть тест, который содержит только эту строку:Mockito бросает InvalidUseOfMatchersException в то время как насмешливый метод

when(service.getDTO(Matchers.<DatePeriod>any(), anyLong())).thenReturn(getMockedDTO); 

при запуске теста он выдает следующее сообщение об ошибке:

org.mockito.exceptions.misusing.InvalidUseOfMatchersException: 
Invalid use of argument matchers! 
1 matchers expected, 2 recorded. 

Интерфейс метода Я издеваюсь следующим образом:

DTO getDTO(DatePeriod period, long id); 

Я просто не вижу, что я делаю неправильно здесь .. надеюсь кто-то может вести меня в правильном направлении! :)

+4

Для лучшего помогите раньше, разместите свой код как [SSCCE] (http://www.sscce.org), который продемонстрирует вашу проблему. Это позволяет пользователям копировать/вставлять и воспроизводить вашу проблему. –

+3

Что произойдет, если вы замените «Матчи». any() 'с' any (DatePeriod.class) '? –

+1

На первый взгляд я не вижу ничего явно неправильного. Дважды проверьте, что getDTO не является «последним» - их нельзя издеваться над Mockito, и что это не предыдущий или последующий заглушки, вызывающие эту ошибку. –

ответ

0

Поскольку моя ошибка была PEBKAC и я решил это самостоятельно, я буду отвечать на свой вопрос

EDIT

instead of mocking the dependant services and dao's I was trying to mock the very service i'm testing. I removed the line and mocked the other dependant services and now it seems to work as intended

(копируется из Mockito throws InvalidUseOfMatchersException while mocking a method)

+1

Чтобы ответить на него, вы должны ответить на него «Проблема существует между клавиатурой и стулом» будет ответом на большинство вопросов, если бы это был ответ. .. – bummi

+0

Я уже ответил на это. Http://stackoverflow.com/questions/18097757/mockito-throws-invaliduseofmatchersexception-while-mocking-a-method/20241651?noredirect=1#comment26533537_18097757 – Herter

+0

обновленный ответ, чтобы включить ответ от комментариев, чтобы сделать его более понятным для читателей – Herter