Rumah > Java > javaTutorial > Bagaimana untuk mengejek Kaedah Void dalam Mockito?

Bagaimana untuk mengejek Kaedah Void dalam Mockito?

DDD
Lepaskan: 2024-12-08 03:15:11
asal
974 orang telah melayarinya

How to Mock Void Methods in Mockito?

Kaedah Tidak Sah Mengejek dengan Mockito

Bagaimanakah seseorang boleh mengejek kaedah dengan jenis pulangan tidak sah menggunakan rangka kerja Mockito? Soalan khusus ini sering timbul dalam senario di mana kaedah objek tidak mengembalikan nilai sebaliknya melakukan tindakan.

Mengatasi Cabaran

API Mockito menawarkan pelbagai pilihan untuk mengendalikan situasi ini, termasuk kaedah seperti doThrow(), doAnswer(), doNothing(), dan doReturn().

  • doThrow(Exception): Melemparkan Exception yang dipratentukan apabila kaedah olok-olok digunakan.
  • doAnswer(Jawapan): Membolehkan untuk menentukan tingkah laku tersuai apabila kaedah olok-olok dipanggil. Antara muka Jawapan menerima objek InvocationOnMock dan mengembalikan nilai yang sesuai (Batal dalam kes ini).

Contoh Pelaksanaan

Pertimbangkan contoh senario berikut:

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");
    }
}
Salin selepas log masuk

Dengan menggunakan kaedah doAnswer, kami boleh menentukan tingkah laku tersuai untuk kaedah setState olok-olok. Dalam contoh di atas, kami mencetak hujah yang dihantar kepada kaedah, memberikan keterlihatan ke dalam seruannya.

Atas ialah kandungan terperinci Bagaimana untuk mengejek Kaedah Void dalam Mockito?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan