Rumah  >  Artikel  >  Java  >  Cara menggunakan kaedah dalam kelas ujian Java

Cara menggunakan kaedah dalam kelas ujian Java

WBOY
WBOYasal
2024-01-05 08:42:071043semak imbas

Cara menggunakan kaedah dalam kelas ujian Java

Cara menggunakan kaedah dalam kelas ujian Java

Di Java, kelas ujian ialah alat penting untuk menguji kefungsian dan ketepatan kaedah. Kelas ujian boleh menggunakan pelbagai kaedah yang berbeza untuk menguji pelbagai aspek kaedah. Beberapa kaedah ujian biasa akan diperkenalkan di bawah dan contoh kod khusus akan diberikan.

  1. Ujian Unit

Ujian unit ialah salah satu kaedah ujian yang paling biasa Ia digunakan untuk menguji unit terkecil sesuatu kaedah - iaitu sebahagian daripada kaedah atau fungsi.

import org.junit.Test;
import static org.junit.Assert.*;

public class CalculatorTest {
    
    @Test
    public void testAdd() {
        Calculator calculator = new Calculator();
        int result = calculator.add(3, 5);
        assertEquals(8, result);
    }
}

Dalam kod di atas, kami menggunakan rangka kerja JUnit untuk ujian. Kelas CalculatorTest ditakrifkan dan kaedah ujian testAdd ditandakan di dalamnya menggunakan anotasi @Test. Dalam kaedah ujian, kami mencipta objek Kalkulator, yang dipanggil kaedah add dan menggunakan kaedah assertEquals untuk menegaskan bahawa hasil sebenar adalah konsisten dengan Adakah hasil yang diharapkan konsisten? CalculatorTest类,并在其中使用@Test注解标记了一个测试方法testAdd。在测试方法中,我们创建了一个Calculator对象,并调用了其中的add方法,并使用assertEquals方法来断言实际结果与期望结果是否一致。

  1. 参数化测试

参数化测试使得我们可以使用不同的参数来测试一个方法,以便覆盖不同的情况。

import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import java.util.Arrays;
import java.util.Collection;

@RunWith(Parameterized.class)
public class CalculatorTest {
    private int a;
    private int b;
    private int expected;
    
    public CalculatorTest(int a, int b, int expected) {
        this.a = a;
        this.b = b;
        this.expected = expected;
    }
    
    @Parameterized.Parameters
    public static Collection<Object[]> data() {
        return Arrays.asList(new Object[][] {
            {1, 2, 3},
            {4, 5, 9},
            {6, 7, 13}
        });
    }
    
    @Test
    public void testAdd() {
        Calculator calculator = new Calculator();
        int result = calculator.add(a, b);
        assertEquals(expected, result);
    }
}

在上面的代码中,我们使用了JUnit的参数化测试功能。使用@RunWith(Parameterized.class)注解来指定参数化测试运行器。在测试类中定义了三个私有变量abexpected,并通过构造函数来初始化这些变量。使用@Parameterized.Parameters注解来指定测试数据,并使用Arrays.asList方法将测试数据转换为Collection。在测试方法中,我们同样创建了一个Calculator对象,并调用其中的add方法,然后使用assertEquals方法来断言实际结果与期望结果是否一致。

  1. 异常测试

异常测试用于测试方法在特定情况下是否会抛出异常。

import org.junit.Test;
import static org.junit.Assert.*;

public class CalculatorTest {
    
    @Test(expected = ArithmeticException.class)
    public void testDivideByZero() {
        Calculator calculator = new Calculator();
        calculator.divide(6, 0);
    }
}

在上面的代码中,我们使用了@Test(expected = ArithmeticException.class)注解来预测Calculator中的divide方法会抛出ArithmeticException异常。在测试方法中,我们创建了一个Calculator对象,并调用其中的divide

    Pengujian berparameter

    Pengujian berparameter membolehkan kami menggunakan parameter yang berbeza untuk menguji kaedah untuk menampung situasi yang berbeza.

    rrreee🎜Dalam kod di atas, kami telah menggunakan ciri ujian berparameter JUnit. Gunakan anotasi @RunWith(Parameterized.class) untuk menentukan pelari ujian berparameter. Tiga pembolehubah peribadi a, b dan expected ditakrifkan dalam kelas ujian, dan pembolehubah ini dimulakan melalui pembina. Gunakan anotasi @Parameterized.Parameters untuk menentukan data ujian dan gunakan kaedah Arrays.asList untuk menukar data ujian kepada Koleksi. Dalam kaedah ujian, kami juga mencipta objek Kalkulator, memanggil kaedah add dan kemudian menggunakan kaedah assertEquals untuk menegaskan bahawa hasil sebenar adalah konsisten dengan Adakah hasil yang diharapkan konsisten? 🎜
      🎜Pengujian pengecualian🎜🎜🎜Pengujian pengecualian digunakan untuk menguji sama ada kaedah akan membuang pengecualian dalam keadaan tertentu. 🎜rrreee🎜Dalam kod di atas, kami menggunakan anotasi @Test(expected = ArithmeticException.class) untuk meramalkan kaedah bahagi dalam Kalkulator Akan buang ArithmeticException pengecualian. Dalam kaedah ujian, kami mencipta objek Kalkulator dan memanggil kaedah divide Memandangkan pembahagi ialah 0, pengecualian akan dilemparkan. Oleh kerana kami menentukan jenis pengecualian yang diramalkan, ujian akan berjaya. 🎜🎜Ringkasan: 🎜🎜Melalui ujian unit, ujian parameter, ujian pengecualian dan kaedah lain, kami boleh menguji kefungsian dan ketepatan sesuatu kaedah secara lebih komprehensif. Kelas ujian ialah salah satu alat penting dalam pembangunan Java, yang boleh membantu kami memastikan kualiti dan kebolehpercayaan kod. Saya harap contoh kod di atas akan membantu anda memahami cara kelas ujian Java menggunakan kaedah. 🎜

Atas ialah kandungan terperinci Cara menggunakan kaedah dalam kelas ujian Java. 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