Мне приходилось писать модульные тесты для метода, который вызывает jdbcTemplate.query
и возвращает некоторые данные. Кажется, он не работает и выдает исключение.
Вот код.
@Test
public void NewDealDaoGetClientOwnershipValuesTest() {
List<OptionView> optionViews = new ArrayList<OptionView>();
optionViews.add(new OptionView("one", "two"));
when(jdbcTemplate.query("<some sql query>", newDealDaoImpl.getResultSetExtractor(Mockito.anyString(), Mockito.anyString(), Mockito.anyString()))).thenReturn(optionViews);
assertEquals(newDealDaoImpl.getClientOwnershipValues(), optionViews);
}
Сообщение об ошибке
org.mockito.exceptions.misusing.InvalidUseOfMatchersException:
Invalid use of argument matchers!
2 matchers expected, 3 recorded.
This exception may occur if matchers are combined with raw values:
//incorrect:
someMethod(anyObject(), "raw String");
When using matchers, all arguments have to be provided by matchers.
For example:
//correct:
someMethod(anyObject(), eq("String by matcher"));
Просто для вашей информации этот метод newDealDaoImpl.getResultSetExtractor
принимает 3 аргумента .