Je reçois l'exception suivanteorg.mockito.exceptions.misusing.InvalidUseOfMatchersException argument de Misplaced matcher
org.mockito.exceptions.misusing.InvalidUseOfMatchersException:
Misplaced argument matcher detected here:
You cannot use argument matchers outside of verification or stubbing.
Examples of correct usage of argument matchers:
when(mock.get(anyInt())).thenReturn(null);
doThrow(new RuntimeException()).when(mock).someVoidMethod(anyObject());
verify(mock).someMethod(contains("foo"))
pour la ligne de code
@Mock
Template templateParser = new TemplateParser();
when(templateParser.getLayoutIdsFromTemplate(any(HashMap.class)))
.thenReturn(Arrays.asList("id1", "id2"));
La fonction que je suis moquais est comme ci-dessous
public class TemplateParser {
public List<String> getLayoutIdsFromTemplate(HashMap<String, Object> parsedTemplate)
{
List<String> listOfLayoutIds = new ArrayList<String>();
//Loading listOfLayoutIds here
return listOfLayoutIds;
}
}
Quelqu'un peut-il me dire quel est le problème?
Il semble que vous utilisiez incorrectement l'annotation '@ Mock'. Pouvez-vous montrer votre classe de test complète? (Ou une version représentative minimale)? –