Rumah  >  Artikel  >  Java  >  Cara Menguji Kelas Abstrak dengan Mockito: Panduan Langkah demi Langkah

Cara Menguji Kelas Abstrak dengan Mockito: Panduan Langkah demi Langkah

Susan Sarandon
Susan Sarandonasal
2024-10-30 18:07:03514semak imbas

How to Test Abstract Classes with Mockito: A Step-by-Step Guide

Menguji Kelas Abstrak dengan Mockito

Kelas abstrak menimbulkan cabaran untuk ujian unit kerana kekurangan pelaksanaan konkrit. Walaupun penciptaan olok-olok manual adalah pilihan, ia boleh memakan masa dan rumit.

Mockito menawarkan penyelesaian yang elegan untuk menguji kelas abstrak tanpa penciptaan olok-olok manual. Begini cara ia berfungsi:

  1. Mengejek Kelas Abstrak:

    <code class="java">My mock = Mockito.mock(My.class, Answers.CALLS_REAL_METHODS);</code>

    Dengan menggunakan Jawapan.CALLS_REAL_METHODS, anda mengarahkan Mockito untuk melaksanakan yang sebenar pelaksanaan kaedah yang tidak ditindih, membolehkan anda menguji kelakuan kaedah abstrak.

  2. Kaedah Abstrak Stub seperti yang Diperlukan:

    Untuk abstrak kaedah yang anda mahu kawal semasa ujian, gunakan sintaks berikut:

    <code class="java">Mockito.when(mock.methodIDontCareAbout()).thenReturn(null);</code>

    Ini akan memotong kaedah abstrak khusus, memberikan tingkah laku yang diingini.

Contoh:

Pertimbangkan senario berikut:

<code class="java">public abstract class My {
    public Result methodUnderTest() { ... }
    protected abstract void methodIDontCareAbout();
}

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

Dalam contoh ini, kaedah abstrak IDontCareAbout() tidak digunakan dalam kaedah yang diuji. Dengan mengejeknya dengan thenReturn(null), anda secara berkesan mengabaikannya semasa ujian.

Pendekatan ini menyediakan cara yang ringkas dan mudah untuk menguji kelas abstrak, menghapuskan keperluan untuk olok-olok buatan tangan dan memudahkan ujian yang cekap bukan- kelas konkrit.

Atas ialah kandungan terperinci Cara Menguji Kelas Abstrak dengan Mockito: Panduan Langkah demi Langkah. 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