Rumah  >  Artikel  >  Java  >  Bagaimana untuk menguji unit fungsi Java dengan xUnit?

Bagaimana untuk menguji unit fungsi Java dengan xUnit?

WBOY
WBOYasal
2024-04-27 11:51:01646semak imbas

xUnit ialah rangka kerja ujian unit Java yang menyediakan fungsi penegasan dan mengejek yang ringkas dan berkuasa untuk memudahkan ujian fungsi Java. Pasang kebergantungan xUnit. Gunakan Assert.assertEquals() untuk menegaskan. Integrasikan Mockito untuk simulasi dan cipta objek olok-olok untuk mensimulasikan gelagat kelas lain Ia sesuai untuk menguji fungsi yang berinteraksi dengan kebergantungan luaran. Dalam amalan, ia boleh digunakan untuk menguji fungsi kompleks, seperti fungsi yang mengira faktorial.

Bagaimana untuk menguji unit fungsi Java dengan xUnit?

Unit menguji fungsi Java dengan xUnit

Pengenalan

xUnit ialah rangka kerja ujian unit yang biasa digunakan di Java. Ia menyediakan satu set pernyataan yang ringkas dan berkuasa serta ciri mengejek yang memudahkan ujian fungsi Java.

Memasang xUnit

<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.13.2</version>
    <scope>test</scope>
</dependency>

Menggunakan Penegasan

import org.junit.Assert;

public class CalculatorTest {

    @Test
    public void testAdd() {
        Calculator calculator = new Calculator();
        int result = calculator.add(2, 3);
        // 断言结果应该为 5
        Assert.assertEquals(5, result);
    }
}

Menggunakan Mocking

Mockito ialah perpustakaan mengejek yang popular yang boleh digunakan dengan xUnit. Mockito membolehkan anda mencipta objek olok-olok yang meniru gelagat kelas atau antara muka lain. Ini berguna untuk menguji fungsi yang berinteraksi dengan kebergantungan luaran.

import org.junit.Before;
import org.junit.Test;
import org.mockito.Mock;
import org.mockito.Mockito;

public class CustomerServiceTest {

    @Mock
    private CustomerRepository customerRepository;

    @Before
    public void setUp() {
        Mockito.when(customerRepository.findById(1)).thenReturn(new Customer("John Doe"));
    }

    @Test
    public void testGetCustomer() {
        CustomerService customerService = new CustomerService(customerRepository);
        Customer customer = customerService.getCustomer(1);
        // 断言获取到的客户名为 "John Doe"
        Assert.assertEquals("John Doe", customer.getName());
    }
}

Kes praktikal

Pertimbangkan fungsi yang mengira faktorial:

public class Factorial {

    public int calculate(int n) {
        if (n == 0) {
            return 1;
        } else {
            return n * calculate(n - 1);
        }
    }
}

Ujian unit

import org.junit.Assert;

public class FactorialTest {

    @Test
    public void testCalculate() {
        Factorial factorial = new Factorial();
        // 断言 factorial(5) 应为 120
        Assert.assertEquals(120, factorial.calculate(5));
    }
}

Atas ialah kandungan terperinci Bagaimana untuk menguji unit fungsi Java dengan xUnit?. 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