Rumah > Java > javaTutorial > teks badan

Bagaimana untuk Mengejek Kaedah Peribadi dengan Berkesan dengan PowerMock dan Mockito?

Linda Hamilton
Lepaskan: 2024-11-03 19:19:03
asal
250 orang telah melayarinya

How to Effectively Mock Private Methods with PowerMock and Mockito?

Penyelesaian Alternatif untuk Mengejek Kaedah Peribadi dengan PowerMock

Walaupun menghadapi kesukaran dengan penyelesaian yang dicadangkan pada mulanya menggunakan PowerMock, pendekatan alternatif telah terbukti berjaya. Menggunakan gabungan Mockito dan PowerMock, adalah mungkin untuk mengejek kaedah persendirian dengan berkesan.

Seperti yang digambarkan dalam coretan kod yang disediakan, kelas CodeWithPrivateMethod mempunyai kaedah awam yang bermaknaPublicApi yang menggunakan kaedah persendirian doTheGamble. Untuk mengejek tingkah laku doTheGamble, kelas ujian CodeWithPrivateMethodTest menggunakan PowerMock untuk mengintip contoh kelas asal dan menggunakan Mockito untuk menentukan nilai pulangan yang diingini.

Dalam senario khusus ini, apabila kaedah peribadi doTheGamble dipanggil dengan sebarang hujah rentetan dan integer, ia diarahkan untuk mengembalikan benar. Ini menyebabkan kaedah awam meaningfulPublicApi mencetuskan RuntimeException.

Konfigurasi ujian lengkap dicapai melalui anotasi @PrepareForTest PowerMock, yang memastikan kelas yang diuji disediakan untuk mengintip. Ujian dilaksanakan menggunakan PowerMockRunner, yang memudahkan kaedah statik dan persendirian mengejek.

Atas ialah kandungan terperinci Bagaimana untuk Mengejek Kaedah Peribadi dengan Berkesan dengan PowerMock dan 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan