Rumah Java javaTutorial Cara menjalankan ujian kod dan ujian unit dalam pembangunan Java

Cara menjalankan ujian kod dan ujian unit dalam pembangunan Java

Oct 09, 2023 pm 01:06 PM
ujian unit pembangunan java ujian kod

Cara menjalankan ujian kod dan ujian unit dalam pembangunan Java

Cara menjalankan ujian kod dan ujian unit dalam pembangunan Java memerlukan contoh kod khusus

[Pengenalan]
Dalam proses pembangunan perisian, ujian kod dan ujian unit adalah sangat penting. Melalui ujian, kami boleh mengesahkan ketepatan kod, menemui dan membetulkan masalah yang berpotensi lebih awal, dan memastikan kualiti perisian. Artikel ini akan memperkenalkan cara menjalankan ujian kod dan ujian unit dalam pembangunan Java, dan memberikan contoh kod khusus.

【Ujian Kod】
Ujian kod merujuk kepada proses mengesahkan fungsi, prestasi, keselamatan dan aspek lain program. Dalam pembangunan Java, kita boleh menggunakan kaedah ujian kod biasa berikut.

  1. Pengujian Manual
    Pengujian manual ialah kaedah ujian yang paling asas, biasanya dilakukan secara manual oleh pembangun atau penguji. Dalam pembangunan Java, anda boleh menguji secara manual dengan menggunakan kaedah System.out.println() untuk mencetak output atau menggunakan penyahpepijatan titik putus. Sebagai contoh, kami mempunyai program kalkulator yang menambah dua nombor:
public class Calculator {
    public static int add(int a, int b) {
        return a + b;
    }

    public static void main(String[] args) {
        int result = add(2, 3);
        System.out.println("2 + 3 = " + result);
    }
}
Salin selepas log masuk

Dengan menjalankan kaedah utama, kami boleh melakukan penambahan dan mencetak hasilnya ke konsol.

  1. Pengujian automatik
    Pengujian automatik ialah kaedah ujian automatik program menggunakan rangka kerja dan alatan ujian. Dalam pembangunan Java, JUnit ialah rangka kerja ujian yang biasa digunakan. Kami boleh mengautomasikan ujian dengan memperkenalkan kebergantungan JUnit dan menulis kes ujian. Mengambil atur cara kalkulator di atas sebagai contoh, berikut ialah contoh penggunaan JUnit untuk ujian automatik:
import org.junit.Test;
import static org.junit.Assert.*;

public class CalculatorTest {
    @Test
    public void testAdd() {
        assertEquals(5, Calculator.add(2, 3));
        assertEquals(10, Calculator.add(5, 5));
    }
}
Salin selepas log masuk

Kod di atas menggunakan anotasi @Test JUnit untuk mengenal pasti kaedah ujian yang perlu dilaksanakan dan menggunakan kaedah assertEquals() untuk mengesahkan keputusan sebenar dan Sama ada keputusan yang dijangkakan adalah sama. Dengan menjalankan kaedah ujian dalam kelas ujian, kami boleh melaksanakan ujian secara automatik dan melihat sama ada keputusan pelaksanaan adalah seperti yang diharapkan.

【Ujian Unit】
Ujian unit ialah proses mengesahkan unit terkecil yang boleh diuji, biasanya satu kelas atau kaedah. Dalam pembangunan Java, kita boleh menggunakan JUnit untuk ujian unit dan Mockito untuk objek olok-olok. Di bawah ialah contoh kod untuk ujian unit menggunakan JUnit dan Mockito.

Pertama, kami mempunyai kelas Pengguna yang mengandungi kaedah getName():

public class User {
    public String getName() {
        return "John";
    }
}
Salin selepas log masuk

Kemudian, kami mempunyai kelas UserService yang bergantung pada kelas Pengguna dan mengandungi kaedah getUser():

public class UserService {
    private User user;

    public UserService(User user) {
        this.user = user;
    }

    public String getUser() {
        return user.getName();
    }
}
Salin selepas log masuk

Seterusnya, kami menggunakan Unit JUnit ujian dengan Mockito:

import org.junit.Before;
import org.junit.Test;
import static org.junit.Assert.*;
import static org.mockito.Mockito.*;

public class UserServiceTest {
    private UserService userService;
    private User mockUser;

    @Before
    public void setUp() {
        mockUser = mock(User.class);
        when(mockUser.getName()).thenReturn("Mock John");
        userService = new UserService(mockUser);
    }

    @Test
    public void testGetUser() {
        assertEquals("Mock John", userService.getUser());
        verify(mockUser, times(1)).getName();
    }
}
Salin selepas log masuk

Dalam kod di atas, kami menggunakan anotasi @Before untuk mengenal pasti kaedah setUp() untuk memulakan beberapa objek sebelum kaedah ujian dilaksanakan. Buat objek olok-olok kelas Pengguna melalui kaedah olok-olok() dan gunakan kaedah when() untuk menentukan nilai pulangan kaedah getName() bagi objek olok-olok. Kami kemudian membuat contoh UserService dan menyerahkan objek olok-olok kepadanya. Dalam kaedah ujian, sahkan sama ada hasil yang dikembalikan oleh kaedah getUser() adalah konsisten dengan nilai pulangan objek simulasi melalui kaedah assertEquals(). Gunakan kaedah verify() untuk mengesahkan sama ada kaedah getName() objek simulasi telah dipanggil sekali.

【Kesimpulan】
Pengujian kod dan ujian unit ialah bahagian penting dalam pembangunan Java. Melalui ujian, kami boleh menemui dan menyelesaikan masalah yang berpotensi dan memastikan kualiti kod dan perisian. Ujian manual dan ujian automatik ialah kaedah ujian kod biasa, dan kami boleh memilih kaedah yang sesuai untuk pengesahan. Apabila melakukan ujian unit, anda boleh menggunakan alatan seperti JUnit dan Mockito untuk menguji dan mengejek objek dengan pantas. Saya harap artikel ini dapat memberikan sedikit bantuan untuk semua orang dalam ujian kod dan ujian unit dalam pembangunan Java.

【Jumlah bilangan perkataan: 814】

Atas ialah kandungan terperinci Cara menjalankan ujian kod dan ujian unit dalam pembangunan Java. 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

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.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

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)

Adakah perisian keselamatan syarikat menyebabkan aplikasi gagal dijalankan? Bagaimana cara menyelesaikan masalah dan menyelesaikannya? Adakah perisian keselamatan syarikat menyebabkan aplikasi gagal dijalankan? Bagaimana cara menyelesaikan masalah dan menyelesaikannya? Apr 19, 2025 pm 04:51 PM

Penyelesaian masalah dan penyelesaian kepada perisian keselamatan syarikat yang menyebabkan beberapa aplikasi tidak berfungsi dengan baik. Banyak syarikat akan menggunakan perisian keselamatan untuk memastikan keselamatan rangkaian dalaman. …

Bagaimana untuk memudahkan isu pemetaan medan dalam dok sistem menggunakan mapstruct? Bagaimana untuk memudahkan isu pemetaan medan dalam dok sistem menggunakan mapstruct? Apr 19, 2025 pm 06:21 PM

Pemprosesan pemetaan medan dalam dok sistem sering menemui masalah yang sukar ketika melaksanakan sistem dok: bagaimana untuk memetakan medan antara muka sistem dengan berkesan ...

Bagaimana dengan elegan mendapatkan nama pemboleh ubah kelas entiti untuk membina keadaan pertanyaan pangkalan data? Bagaimana dengan elegan mendapatkan nama pemboleh ubah kelas entiti untuk membina keadaan pertanyaan pangkalan data? Apr 19, 2025 pm 11:42 PM

Apabila menggunakan Mybatis-Plus atau Rangka Kerja ORM yang lain untuk operasi pangkalan data, sering diperlukan untuk membina syarat pertanyaan berdasarkan nama atribut kelas entiti. Sekiranya anda secara manual setiap kali ...

Bagaimanakah Idea IntelliJ mengenal pasti nombor port projek boot musim bunga tanpa mengeluarkan log? Bagaimanakah Idea IntelliJ mengenal pasti nombor port projek boot musim bunga tanpa mengeluarkan log? Apr 19, 2025 pm 11:45 PM

Mula musim bunga menggunakan versi IntelliJideaultimate ...

Bagaimanakah saya menukar nama kepada nombor untuk melaksanakan penyortiran dan mengekalkan konsistensi dalam kumpulan? Bagaimanakah saya menukar nama kepada nombor untuk melaksanakan penyortiran dan mengekalkan konsistensi dalam kumpulan? Apr 19, 2025 pm 11:30 PM

Penyelesaian untuk menukar nama kepada nombor untuk melaksanakan penyortiran dalam banyak senario aplikasi, pengguna mungkin perlu menyusun kumpulan, terutama dalam satu ...

Bagaimana cara menukar objek Java dengan selamat ke array? Bagaimana cara menukar objek Java dengan selamat ke array? Apr 19, 2025 pm 11:33 PM

Penukaran objek dan tatasusunan Java: Perbincangan mendalam tentang risiko dan kaedah penukaran jenis cast yang betul Banyak pemula Java akan menemui penukaran objek ke dalam array ...

Bagaimana cara menukar nama ke nombor untuk melaksanakan penyortiran dalam kumpulan? Bagaimana cara menukar nama ke nombor untuk melaksanakan penyortiran dalam kumpulan? Apr 19, 2025 pm 01:57 PM

Bagaimana cara menukar nama ke nombor untuk melaksanakan penyortiran dalam kumpulan? Apabila menyusun pengguna dalam kumpulan, sering kali perlu menukar nama pengguna ke dalam nombor supaya ia boleh berbeza ...

Bagaimana menggunakan penyelesaian cache Redis untuk merealisasikan keperluan senarai kedudukan produk dengan cekap? Bagaimana menggunakan penyelesaian cache Redis untuk merealisasikan keperluan senarai kedudukan produk dengan cekap? Apr 19, 2025 pm 11:36 PM

Bagaimanakah penyelesaian caching Redis menyedari keperluan senarai kedudukan produk? Semasa proses pembangunan, kita sering perlu menangani keperluan kedudukan, seperti memaparkan ...

See all articles