Rumah > Java > javaTutorial > Bagaimana untuk mengejek Kaedah Statik Tunggal Mengembalikan Objek Menggunakan PowerMockito?

Bagaimana untuk mengejek Kaedah Statik Tunggal Mengembalikan Objek Menggunakan PowerMockito?

Patricia Arquette
Lepaskan: 2024-12-02 15:30:12
asal
446 orang telah melayarinya

How to Mock a Single Static Method Returning an Object Using PowerMockito?

Mengejek Kaedah Statik Tunggal untuk Mengembalikan Objek Menggunakan PowerMockito

Apabila berurusan dengan kelas yang mengandungi pelbagai kaedah statik, cabaran timbul dalam mengejek kaedah statik tunggal sambil memastikannya mengembalikan objek. Berikut ialah penyelesaian terperinci menggunakan PowerMockito:

  1. Dayakan Ejek Statik:

    Mulakan dengan mendayakan ejekan statik untuk kelas yang anda ingin ubah suai menggunakan PowerMockito. mockStatic(Class.class). Ini membolehkan anda menyediakan gelagat khusus untuk kaedah statik dalam kelas tersebut.

  2. Stubbing Kaedah:

    Untuk menentukan gelagat sasaran kaedah statik, gunakan sintaks when-thenReturn. Contohnya:

    when(Class.m1(param1, param2)).thenReturn(objectToReturn);
    Salin selepas log masuk

    Ini menentukan bahawa apabila m1 dipanggil dengan parameter yang diberikan, ia harus mengembalikan objek yang disediakan.

  3. Mengelakkan Nilai Pulangan Lalai :

    Secara lalai, PowerMockito menyediakan nilai lalainya sendiri untuk statik tidak berstub kaedah. Untuk mengatasi perkara ini dan mengembalikan objek tersuai, adalah penting untuk menggunakan versi 1-argumen mockStatic tanpa menyatakan strategi lalai.

  4. Contoh Pelaksanaan:

    Pertimbangkan coretan kod berikut:

    PowerMockito.mockStatic(Static.class);
    when(Static.m1("param1", "param2")).thenReturn(new Object());
    Salin selepas log masuk

    Kod ini mengejek kaedah statik m1 dalam kelas Statik dan mengetuknya untuk mengembalikan tika baharu objek.

  5. Menggunakan Kaedah Mocked:

    Setelah kaedah statik diejek dan ditikam, anda boleh menggunakannya seperti biasa. Panggilan kaedah akan dipintas oleh PowerMockito dan mengembalikan objek yang ditentukan.

Ingat, perbezaan utama di sini ialah menggunakan versi 1-argumen mockStatic untuk mendayakan ejekan statik tanpa menyatakan strategi lalai , dan kemudian menggunakan sintaks when-thenReturn untuk stub satu kaedah statik untuk mengembalikan objek.

Atas ialah kandungan terperinci Bagaimana untuk mengejek Kaedah Statik Tunggal Mengembalikan Objek Menggunakan PowerMockito?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan