Je vais essayer de vous expliquer à l'aide d'un exemple :
// Difference between mocking, stubbing and spying
@Test
public void differenceBetweenMockingSpyingAndStubbing() {
List list = new ArrayList();
list.add("abc");
assertEquals(1, list.size());
List mockedList = spy(list);
when(mockedList.size()).thenReturn(10);
assertEquals(10, mockedList.size());
}
Ici, nous avions un objet initial réel list
dans lequel nous avons ajouté un élément et attendu que la taille soit de un.
Nous espionner objet réel, ce qui signifie que nous pouvons indiquer la méthode à utiliser. tronqué . Donc nous avons déclaré que nous avons stubé la méthode - size()
sur objet espion qui renverra 10, quelle que soit la taille réelle.
En bref, vous allez espionner objet réel y talon certaines des méthodes .