Rumah >Java >javaTutorial >Bagaimanakah Saya Boleh Mengejek Kelas Akhir dalam Mockito?

Bagaimanakah Saya Boleh Mengejek Kelas Akhir dalam Mockito?

Barbara Streisand
Barbara Streisandasal
2024-12-28 21:04:15996semak imbas

How Can I Mock a Final Class in Mockito?

Kelas Akhir Mengejek dengan Mockito

Masalah:

Anda mempunyai kelas akhir yang anda nak mengejek dalam ujian JUnit. Walau bagaimanapun, Mockito nampaknya mempunyai had dalam mengejek kelas akhir.

Soalan Terperinci:

Pertimbangkan contoh kod berikut:

Jawa

public final class RainOnTrees {
   public void startRain() {
      // some code here
   }
}

Di tempat lain kelas:

Java

public class Seasons {
   RainOnTrees rain = new RainOnTrees();
   public void findSeasonAndRain() {
      rain.startRain();
   }
}

Dalam kelas ujian JUnit untuk Seasons.java, anda mahu mengejek kelas RainOnTrees. Bagaimanakah anda boleh mencapai ini menggunakan Mockito?

Jawapan:

Bermula dengan Mockito v2, anda boleh mengejek kelas akhir. Untuk mendayakan kefungsian ini, tambahkan yang berikut pada fail Gradle anda:

Java

testImplementation 'org.mockito:mockito-inline:2.13.0'

Perhatikan bahawa mengejek kelas akhir tidak boleh dilaksanakan dengan Mockito v1. Seperti yang dinyatakan dalam Soalan Lazim Mockito:

"Tidak boleh mengejek kelas akhir"

Untuk mendapatkan maklumat lanjut tentang pengehadan Mockito, rujuk dokumentasi rasmi.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengejek Kelas Akhir dalam Mockito?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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