cari
RumahJavaJavabermulaPenggunaan rangka kerja ujian kotak putih (JUnit)

Rangka kerja Junit:

Junit ialah rangka kerja ujian unit java sumber terbuka.

Hari ini kami akan memperkenalkan junit5 yang terdiri daripada tiga modul sub-projek berbeza, termasuk Junit Platform, Junit Jupiter dan Junit Vintage. Ia menyokong Java 8 dan ke atas Editor yang saya gunakan di sini ialah IntelliJ IDEA Anda hanya perlu menyemak hasil akhir untuk mengetahui sama ada antara muka kaedah keseluruhan projek. Setiap kes ujian unit agak bebas, dimulakan oleh Junit, dan dipanggil secara automatik. Tidak perlu menambah pernyataan panggilan tambahan.

Tambah, padam dan sekat kaedah ujian tanpa menjejaskan kaedah ujian lain.

Junit digunakan terutamanya untuk ujian kotak putih Langkah-langkah untuk ujian kotak putih adalah seperti berikut:

1 Peringkat perancangan ujian: Kembangkan jadual ujian mengikut spesifikasi keperluan.

2. Peringkat reka bentuk ujian: Mengikut fungsi kod, kes ujian direka secara manual untuk menjalankan ujian fungsi asas. Mengikut arahan pengaturcaraan, struktur perisian dibahagikan dan kes ujian direka mengikut kaedah piawai tertentu.

3. Fasa pelaksanaan ujian: masukkan kes ujian dan dapatkan keputusan ujian.

4. Peringkat ringkasan ujian: Bandingkan keputusan ujian dengan keputusan kod yang dijangkakan, analisis punca ralat, cari dan selesaikan ralat.

Seterusnya, mari perkenalkan anotasi di dalam:

@Test: Mewakili kaedah ujian tanpa mengisytiharkan sebarang atribut.

@ParameterizedTest: Menunjukkan bahawa kaedah tersebut ialah kaedah ujian Selain itu, anotasi ini juga boleh membenarkan kaedah ujian dijalankan beberapa kali menggunakan orang yang berbeza.

@RepeatedTest: Anotasi ini membenarkan kaedah ujian untuk menyesuaikan bilangan larian berulang.

@TestFactory: Menunjukkan bahawa kaedah adalah berdasarkan sumber data ujian dinamik dipacu data.

@Displayname: Mengisytiharkan nama paparan tersuai untuk kelas ujian atau kaedah ujian.

@BeforeEach: Menunjukkan bahawa kaedah yang ditentukan dijalankan sebelum setiap kaedah ujian dijalankan.

@AfterEach: Menunjukkan bahawa kaedah yang ditentukan akan dijalankan selepas setiap kaedah ujian dijalankan.

@BeforeAll: Dilaksanakan sebelum semua kaedah ujian kelas semasa, kaedah ini boleh mengandungi beberapa kod permulaan.

@AfterAll: Dilaksanakan selepas semua kaedah ujian kelas semasa.

@Dilumpuhkan: Menunjukkan bahawa kelas ujian atau kaedah tidak sah.

Penegasan:

Gagal: Ujian penegasan gagal.

AssertTrue/asserFalse: Tegaskan benar atau salah.

AssertNull/assertNotNull: Assert adalah batal atau tidak batal.

assertEquals/assertNotEquals: Tegaskan bahawa dua nilai tidak sama.

AssertArrayEquals: Menegaskan bahawa semua elemen tatasusunan adalah sama.

AssertSame/assertNotSame: Tegaskan sama ada dua objek adalah sama.

AssertThrows/assertDoesNotThrow: Tegaskan sama ada pengecualian dilemparkan.

AssertAll: Tegaskan bahawa berbilang syarat dipenuhi;

Di bawah kami mencipta kelas dan mencipta beberapa kaedah:

package test;//包机制
import java.lang.reflect.Array;
public class MixedOperation {
    public int mixeOperation(int x,int y){
        return division((x+y),y);
    }
    public int division(int x,int y){
        int result=(x/y);
        return result;
    }
    public static void main(String[] args) {
      MixedOperation mixedOperation=new MixedOperation();
      System.out.println(mixedOperation.mixeOperation(5,1));
    }
}

Kami mencipta kelas yang dipanggil MixedOperation ;

package test;
import org.junit.jupiter.api.*;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.CsvSource;
public class MixedOperationTest {
    private MixedOperation mixedOperation;
    @BeforeEach
    public void init(){
      mixedOperation=new MixedOperation();
    }
    @Test
    public void successTest(){
        System.out.println("run a test:x=4,y=2");
        int result=mixedOperation.mixeOperation(4,2);
        Assertions.assertEquals(3,result);
    }
   /* @DisplayName("失败")
    public void errorTest(){`
        System.out.println("run a test:x=4,y=0");
        ArithmeticException exception=new ArithmeticException(
                ArithmeticException.class -> {
            mixedOperation.mixeOperation(4, 0);
        }
        );
    }*/
    @Disabled("参数")
    @Test
    @DisplayName("参数")
    @ParameterizedTest
    @CsvSource({"6,3,3","5,2,3","6,2,4"})
    public void caTest(int x,int y,int excepted){
        System.out.println("run a test :x="+x+"y="+y);
        System.out.println(excepted);
        int t= mixedOperation.mixeOperation(x,y);
        Assertions.assertEquals(excepted,t);
    }
    @Disabled
    @Test
    public void  Next(){
       System.out.println("抛出一个异常");
       System.out.println(Assertions.assertThrows(IllegalArgumentException.class, () ->mixedOperation.mixeOperation(2,0)));
    }
    @Disabled
    @Test
    void error(){
        Assertions.assertThrows(Exception.class,()->{Assertions.assertEquals(1,0);});
    }
    @Test
    void sure(){
        int result=mixedOperation.mixeOperation(4,2);
        Assertions.assertTrue(3==result);//断言相等
    }
}

Ini ialah kelas ujian yang kami buat dipanggil MixedOperationTest;

Cadangan berkaitan: "tutorial video java"

Atas ialah kandungan terperinci Penggunaan rangka kerja ujian kotak putih (JUnit). 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

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

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

VSCode Windows 64-bit Muat Turun

VSCode Windows 64-bit Muat Turun

Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft

EditPlus versi Cina retak

EditPlus versi Cina retak

Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

SublimeText3 Linux versi baharu

SublimeText3 Linux versi baharu

SublimeText3 Linux versi terkini

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini