Rumah > Java > javaTutorial > teks badan

Bagaimanakah Mockito Boleh Memudahkan Pengujian Kelas Abstrak?

Mary-Kate Olsen
Lepaskan: 2024-10-30 18:48:30
asal
574 orang telah melayarinya

How Can Mockito Simplify Testing Abstract Classes?

Kelas Abstrak Mengejek dengan Mockito

Menguji kelas abstrak boleh menimbulkan cabaran, terutamanya jika penciptaan olok-olok manual dipertimbangkan. Walau bagaimanapun, memanfaatkan Mockito menawarkan pendekatan alternatif.

Mockito.mock() dengan Jawapan.CALLS_REAL_METHODS

Daripada membina kelas olok-olok secara manual, kaedah mock() Mockito boleh digunakan dengan hujah Answers.CALLS_REAL_METHODS. Pilihan ini menjana kelas olok-olok yang mewarisi daripada kelas abstrak dan membolehkan ujian kaedah sebenar tanpa melaksanakannya secara eksplisit.

Contoh:

Pertimbangkan kelas abstrak My dengan kaedah di bawah kaedah ujianUnderTest() dan kaedah kaedah abstrakIDontCareAbout(). Coretan kod berikut menunjukkan cara menguji methodUnderTest() menggunakan pendekatan ini:

<code class="java">@Test
public void shouldFailOnNullIdentifiers() {
    My my = Mockito.mock(My.class, Answers.CALLS_REAL_METHODS);
    Assert.assertSomething(my.methodUnderTest());
}</code>
Salin selepas log masuk

Dalam contoh ini, Mockito.mock(My.class, Answers.CALLS_REAL_METHODS) mencipta contoh olok-olok My yang membenarkan yang sebenar pelaksanaan methodUnderTest() untuk dijalankan, membolehkan ujian logiknya. Pada masa yang sama, kaedah kaedah abstrakIDontCareAbout() tidak perlu dilaksanakan, kerana ia tidak digunakan oleh ujian.

Faedah

Pendekatan ini menyelaraskan ujian. kelas abstrak dengan menghapuskan keperluan untuk mencipta subkelas tersuai atau melaksanakan kaedah abstrak. Ia juga mengekalkan pemisahan yang diingini antara kelas abstrak dan kes ujian, membolehkan ujian yang lebih bersih dan ringkas.

Atas ialah kandungan terperinci Bagaimanakah Mockito Boleh Memudahkan Pengujian Kelas Abstrak?. 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!