亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

Jadual Kandungan
1. Tulis kod yang boleh diuji: suntikan pergantungan dan gandingan longgar
2. Gunakan Junit 5 untuk ujian berstruktur dan boleh dibaca
3. Mengejutkan ketergantungan dengan mockito
4. Amalan terbaik untuk ujian yang bersih dan boleh dipelihara
Pemikiran terakhir
Rumah Java javaTutorial Menulis kod Java yang boleh diuji dengan Junit 5 dan Mockito

Menulis kod Java yang boleh diuji dengan Junit 5 dan Mockito

Jul 28, 2025 am 03:24 AM
mockito JUnit 5

Tulis kod yang boleh diuji menggunakan suntikan ketergantungan untuk membolehkan gandingan longgar, seperti yang dilihat dengan menggantikan kebergantungan keras dengan yang disuntik; 2. Gunakan Junit 5 untuk ujian berstruktur dengan ciri -ciri seperti @Beforeeach, @test, dan menegaskan untuk memastikan ujian yang bersih, boleh dibaca, dan boleh dipercayai; 3. Mengejutkan kebergantungan luaran dengan mockito menggunakan mock (), ketika (). Thenreturn (), dan sahkan () untuk mengasingkan tingkah laku dan mengelakkan pergantungan pada sistem sebenar; 4. Ikuti amalan terbaik seperti nama ujian deskriptif, corak AAA, mengelakkan ujian terperinci pelaksanaan, menjaga ujian bebas, tidak terlalu mengejek, dan meliputi kes kelebihan untuk memastikan ujian yang boleh dipelihara dan berkesan; Akhirnya, mereka bentuk untuk kesesuaian meningkatkan kualiti kod, menjadikannya lebih mudah untuk berubah, debug, dan kepercayaan.

Menulis kod Java yang boleh diuji dengan Junit 5 dan Mockito

Menulis kod Java yang boleh diuji adalah kemahiran kritikal untuk membina aplikasi yang boleh dipelihara dan mantap. Dengan Junit 5 sebagai rangka kerja ujian moden dan mockito untuk kebergantungan mengejek, anda boleh menulis ujian unit yang bersih dan boleh dipercayai yang mengesahkan tingkah laku tanpa bergantung pada sistem luaran. Berikut adalah cara menyusun kod dan ujian anda dengan berkesan.

Menulis kod Java yang boleh diuji dengan Junit 5 dan Mockito

1. Tulis kod yang boleh diuji: suntikan pergantungan dan gandingan longgar

Asas kod yang boleh diuji adalah suntikan ketergantungan (DI) dan gandingan longgar . Elakkan kebergantungan keras atau panggilan statik yang membuat ujian sukar.

Contoh buruk (sukar untuk diuji):

Menulis kod Java yang boleh diuji dengan Junit 5 dan Mockito
 Pesanan Pesanan Kelas Awam {
    EmailService EmailService Private = NewService baru (); // ketergantungan keras

    proses kekosongan awam (perintah pesanan) {
        // logik
        EmailService.SendConfirmation (perintah);
    }
}

OrderService pasangan yang ketat ini ke EmailService , menjadikannya mustahil untuk menguji process() tanpa benar -benar menghantar e -mel.

Pendekatan yang baik (boleh diuji dengan DI):

Menulis kod Java yang boleh diuji dengan Junit 5 dan Mockito
 Pesanan Pesanan Kelas Awam {
    E -melService E -melService Final Private;

    Pesanan Pesanan Awam (e -melService E -melService) {
        this.emailservice = e -melService;
    }

    proses kekosongan awam (perintah pesanan) {
        // logik perniagaan
        EmailService.SendConfirmation (perintah);
    }
}

Sekarang anda boleh menyuntik EmailService yang dihina semasa ujian menggunakan Mockito.


2. Gunakan Junit 5 untuk ujian berstruktur dan boleh dibaca

Junit 5 menawarkan sintaks moden dengan pengurusan kitaran hayat yang lebih baik dan pernyataan ekspresif.

Contoh kelas ujian:

 import org.junit.jupiter.api.*;
import statik org.mockito.mockito.*;
import statik org.junit.jupiter.api.assertions.*;

@TestInstance (testInstance.lifecycle.per_method)
kelas orderServiceTest {

    E -melService EmailService Private;
    Pesanan pesanan pesanan peribadi;

    @Beforeach
    void setup () {
        e -melService = mock (emailService.class);
        orderService = Pesanan Pesanan Baru (EmailService);
    }

    @Test
    @DisplayName ("Harus menghantar e -mel pengesahan semasa membuat pesanan")
    void shouldSendemailonProcess () {
        // diberikan
        Pesanan Pesanan = Perintah Baru ("123", 100.0);

        // Bila
        OrderService.Process (Order);

        // kemudian
        sahkan (e -melService, Times (1)). SendConfirmation (perintah);
    }

    @Test
    @DisplayName ("harus membuang pengecualian untuk pesanan null")
    void shouldThrowExceptionFornullorder () {
        // bila & kemudian
        AssertHrows (IllegalArgumentException.class, () -> {
            orderService.process (null);
        });
    }
}

Ciri -ciri utama Junit 5 yang digunakan:

  • @BeforeEach - berjalan sebelum setiap ujian (keadaan bersih)
  • @Test - Kaedah ujian Marks
  • @DisplayName - Meningkatkan kebolehbacaan dalam laporan ujian
  • assertThrows - mengesahkan pengecualian yang diharapkan
  • verify() - Memeriksa interaksi dengan mengejek

3. Mengejutkan ketergantungan dengan mockito

Mockito membolehkan anda mensimulasikan perkhidmatan luaran (contohnya, pangkalan data, API, e -mel) supaya ujian unit anda berjalan pantas dan mengasingkan tingkah laku.

Corak mockito biasa:

  • Penciptaan Mock: mock(ClassName.class)
  • Kaedah Stubbing: when(mock.method()).thenReturn(value)
  • Mengesahkan Interaksi: verify(mock).method()

Contoh: Menanggalkan panggilan repositori

 UserService Kelas Awam {
    Userrepository UserRepository akhir swasta;

    Public Userservice (userrepository userrepository) {
        this.userrepository = userrepository;
    }

    pengguna awam findUserById (ID String) {
        Kembalikan userrepository.findbyId (ID)
                .orelsethrow (() -> New UsernotFoundException ("Pengguna tidak dijumpai"));
    }
}

Uji dengan Mockito:

 @Test
@DisplayName ("harus mengembalikan pengguna apabila ditemui di repositori")
void hendaklahReturnuserWhenFound () {
    // diberikan
    Userrepository userrepository = mock (userrepository.class);
    Pengguna MockUser = pengguna baru ("1", "Alice");
    apabila (userrepository.findbyId ("1")). thenReturn (optional.of (mockUser));

    UserService userService = New userService (userRepository);

    // Bila
    Hasil Pengguna = UserService.FindUserById ("1");

    // kemudian
    AssertEquals ("Alice", result.getName ());
    sahkan (userrepository) .findbyId ("1");
}

Anda hanya menguji logik dalam UserService , bukan pangkalan data sebenar.


4. Amalan terbaik untuk ujian yang bersih dan boleh dipelihara

Ikuti garis panduan ini untuk memastikan ujian anda berkesan:

  • Gunakan nama ujian deskriptif
    Lebih suka shouldThrowExceptionWhenOrderIsNull() over testProcess() .

  • Ikuti corak AAA
    Mengatur ujian ke dalam mengatur , bertindak , menegaskan blok untuk kejelasan.

  • Elakkan ujian perincian pelaksanaan
    Uji kaedah yang dilakukan, bukan bagaimana ia melakukannya. Jangan mengesahkan kaedah peribadi dalaman.

  • Pastikan ujian bebas dan pantas
    Tiada keadaan bersama antara ujian. Gunakan @BeforeEach atau kaedah kilang sebaliknya.

  • Jangan terlalu mengejek
    Hanya mengejek kebergantungan luaran. Jangan mengejek objek nilai atau utiliti mudah.

  • Kes kelebihan ujian
    Input null, koleksi kosong, pengecualian - ini adalah titik kegagalan biasa.


Pemikiran terakhir

Menulis kod Java yang boleh diuji bukan sekadar menambah ujian -ini mengenai merancang kelas anda dengan kesesuaian dalam fikiran. Gunakan suntikan ketergantungan, komposisi memihak kepada instantiasi, dan kebimbangan berasingan secara bersih.

Dengan Junit 5 dan Mockito, anda mendapat alat yang kuat untuk:

  • Tulis ujian ekspresif dan boleh dibaca
  • Mengasingkan unit tingkah laku
  • Mensimulasikan kebergantungan dengan selamat

Hasilnya? Kod yang lebih mudah untuk diubah, debug, dan kepercayaan.

Pada asasnya, jika anda tidak dapat mengujinya dengan mudah, memikirkan semula reka bentuk.

Atas ialah kandungan terperinci Menulis kod Java yang boleh diuji dengan Junit 5 dan Mockito. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimanakah anotasi dalam rangka kerja Mockito memudahkan penjanaan dan pengesahan rintisan? Bagaimanakah anotasi dalam rangka kerja Mockito memudahkan penjanaan dan pengesahan rintisan? May 06, 2024 pm 05:48 PM

Anotasi rangka kerja Mockito memudahkan penjanaan stub dan proses pengesahan: @Mock: menjana dan mengurus objek tiruan secara automatik. @Captor: Tangkap nilai parameter yang dihantar kepada kaedah olok-olok. @InjectMocks: Menyuntik objek olok-olok secara automatik ke dalam kelas yang diuji. @Spy: Cipta beberapa objek stub dan kekalkan pelaksanaan kaedah asal.

Pembangunan backend Java: Ujian unit API mengejek menggunakan Mockito Pembangunan backend Java: Ujian unit API mengejek menggunakan Mockito Jun 17, 2023 am 08:27 AM

Dengan populariti Internet, pembangunan back-end Java telah menjadi bidang yang penting. Dalam proses pembangunan, ujian unit ialah langkah yang sangat kritikal, dan Mockito ialah alat simulasi ujian unit API yang sangat baik. Artikel ini akan memperkenalkan cara menggunakan Mockito dalam pembangunan back-end Java. Apa itu Mockito? Mockito ialah rangka kerja Java yang menyediakan keupayaan simulasi ujian unit API dalam bentuk objek Mock. Objek olok-olok merujuk kepada beberapa objek maya yang tingkah lakunya ditetapkan oleh kami

JAX-RS dan ujian unit: memastikan keteguhan kod RESTful anda JAX-RS dan ujian unit: memastikan keteguhan kod RESTful anda Feb 29, 2024 pm 08:31 PM

Pengenalan API RESTful menjadi semakin popular, jadi memastikan keteguhannya menjadi kritikal. Ujian unit ialah cara yang berkesan untuk mengesahkan kefungsian dan gelagat kod anda, terutamanya untuk API RESTful. Artikel ini akan menerangkan cara menggunakan JAX-RS dan rangka kerja ujian unit seperti Mockito dan RESTAssured untuk menguji kod RESTful. Pengenalan kepada JAX-RS JAX-RS ialah API Java untuk membina API RESTful. Ia menyediakan satu set anotasi dan kelas untuk menentukan sumber dan mengendalikan permintaan dan respons HTTP. Menggunakan JAX-RS, pembangun boleh mencipta perkhidmatan RESTful dengan mudah yang boleh berkomunikasi dengan pelbagai pelanggan. ujian unit

Cara menggunakan Mockito untuk ujian unit Java Cara menggunakan Mockito untuk ujian unit Java Apr 19, 2023 pm 11:22 PM

Pengenalan kepada Mockito Apabila memanggil kaedah objek olok-olok, kaedah sebenar tidak akan dilaksanakan, tetapi nilai lalai jenis pulangan, seperti objek mengembalikan null, int mengembalikan 0, dsb. Jika tidak, kaedah ditentukan dengan menentukan bila (kaedah).thenReturn(value) Pulangan nilai. Pada masa yang sama, objek olok-olok boleh dikesan dan kaedah pengesahan boleh digunakan untuk melihat sama ada ia telah dipanggil. Objek pengintip akan melaksanakan kaedah sebenar secara lalai, dan nilai pulangan boleh ditindih melalui when.thenReturn. Ia boleh dilihat bahawa selagi olok-olok mengelak daripada melaksanakan beberapa kaedah dan terus mengembalikan nilai yang ditentukan, ia adalah mudah untuk ujian lain. Kes ujian perkhidmatan memerlukan kebergantungan junitjunit4.1

Rangka kerja ujian unit Mockito dan JUnit: cara bekerjasama Rangka kerja ujian unit Mockito dan JUnit: cara bekerjasama Apr 18, 2024 pm 01:36 PM

Mockito dan JUnit bergabung tenaga untuk meningkatkan kecekapan ujian unit: Mockito membenarkan penciptaan stub ujian dan objek olok-olok untuk mengesahkan interaksi kod yang dijangkakan. JUnit menyediakan rangka kerja untuk membuat penulisan ujian dan berjalan lebih mudah. Apabila digunakan bersama, anda boleh membuat ujian yang sangat mudah dibaca dan boleh diselenggara yang mengesahkan ketepatan kod anda dengan berkesan.

Bagaimana untuk menguji unit fungsi Java dengan Mockito? Bagaimana untuk menguji unit fungsi Java dengan Mockito? Apr 27, 2024 pm 03:36 PM

Langkah-langkah untuk menguji fungsi Java menggunakan Mockito: Tambah kebergantungan Mockito. Cipta objek olok-olok dan tetapkan tingkah laku olok-olok. Panggil fungsi untuk diuji. Tegaskan kelakuan yang dijangkakan bagi sesuatu fungsi. Gunakan verify() untuk mengesahkan interaksi simulasi.

Cara menggunakan JUnit dan Mockito untuk pembangunan dipacu ujian dalam PHP Cara menggunakan JUnit dan Mockito untuk pembangunan dipacu ujian dalam PHP Jun 25, 2023 pm 02:25 PM

Memandangkan pembangunan perisian terus berkembang, pembangunan dipacu ujian (TDD) telah menjadi model pembangunan yang semakin popular. Dalam proses TDD, ujian menjadi teras kepada proses pembangunan, dan JUnit dan Mockito ialah dua rangka kerja ujian yang biasa digunakan. Dalam pembangunan PHP, bagaimana untuk menggunakan JUnit dan Mockito untuk TDD? Pengenalan terperinci akan diberikan di bawah. 1. Pengenalan kepada JUnit dan Mockito JUnit ialah rangka kerja ujian untuk bahasa Java. Ia boleh membantu Java

Panduan Terbaik untuk Java JUnit: Menguasai Pengujian Unit Panduan Terbaik untuk Java JUnit: Menguasai Pengujian Unit Feb 19, 2024 am 11:36 AM

Pengenalan JUnit ialah rangka kerja sumber terbuka untuk ujian unit kod Java, yang diasaskan pada tahun 1997 oleh Erich Gamma dan Kent Beck. Ia membolehkan pembangun menulis kes ujian yang mengesahkan ketepatan kod. Melalui ujian unit, pembangun boleh memastikan bahawa kod berfungsi seperti yang diharapkan pada peringkat unit individu, dengan itu meningkatkan keteguhan dan kebolehpercayaan kod. Penggunaan Asas Kes ujian JUnit ialah kaedah beranotasi dengan @Test, yang biasanya bermula dengan ujian. Ia mengandungi bahagian berikut: Persediaan: Dalam kaedah @Sebelum, tetapkan status yang diperlukan untuk setiap kes ujian. Ujian: Dalam kaedah @Test, laksanakan logik yang akan diuji dan sahkan keputusannya. Pembersihan: Dalam kaedah @After, dalam setiap kes ujian

See all articles