Saya akan mencoba menjelaskan menggunakan contoh di sini:
// 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());
}
Di sini, kami memiliki objek nyata awal list
, di mana kami menambahkan satu elemen dan ukuran yang diharapkan menjadi satu.
Kami memata-matai objek nyata yang berarti bahwa kami dapat menginstruksikan metode mana yang harus di- stub . Jadi kami menyatakan bahwa kami mematikan metode - size()
pada objek mata-mata yang akan mengembalikan 10, tidak peduli berapa ukuran sebenarnya.
Singkatnya, Anda akan memata - matai objek nyata dan mematikan beberapa metode .