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!