Maison >Java >javaDidacticiel >Comment se moquer des méthodes vides dans Mockito ?
Se moquer des méthodes Void avec Mockito
Comment peut-on se moquer des méthodes avec un type de retour void à l'aide du framework Mockito ? Cette question particulière se pose fréquemment dans les scénarios où une méthode objet ne renvoie pas de valeur mais effectue à la place une action.
Relever le défi
L'API Mockito propose une gamme de options pour gérer cette situation, y compris des méthodes comme doThrow(), doAnswer(), doNothing() et doReturn().
Exemple de mise en œuvre
Considérez l'exemple de scénario suivant :
public class World { private String state; // Setter for state public void setState(String s) { this.state = s; } } public class WorldTest { @Test public void testingWorld() { World mockWorld = mock(World.class); // Mock the setState method using doAnswer doAnswer(new Answer<Void>() { @Override public Void answer(InvocationOnMock invocation) { Object[] args = invocation.getArguments(); System.out.println("Called with arguments: " + Arrays.toString(args)); return null; } }).when(mockWorld).setState(anyString()); // Call the mock method and observe the output mockWorld.setState("Mocked"); } }
En employant la méthode doAnswer, nous pouvons spécifier un comportement personnalisé pour la méthode mock setState. Dans l'exemple ci-dessus, nous imprimons les arguments passés à la méthode, offrant ainsi une visibilité sur son invocation.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!