Tags:

Annotation @Test JUnit 5

@Test annotation là một trong những annotation cốt lõi của JUnit 5 cho phép thực thi một method mà không cần thực hiện lời gọi hàm đến nó. Các method được đặt dưới @Test annotation được gọi là test method.

Test method

Giả sử chúng ta có SupportNumber class, chứa method kiểm tra số chẵn.

class SupportNumber {
    public static boolean isNumberEven(int number) {
        return number % 2 == 0;
    }
}

Mình muốn kiểm thử theo 2 kịch bản:

  1. Truyền 1 số chẵn và mong muốn kết quả trả về là true.
  2. Truyền số lẽ và mong muốn kết quả trả về là false.

Như vậy mình cần chuẩn bị dữ liệu và gọi isNumberEven() 2 lần với dữ liệu đã chuẩn bị. Mình sẽ chuẩn bị 2 test method tương ứng với 2 trường hợp trên và thực thi chúng để nhận về kết quả thử nghiệm, 2 method này được đặt dưới @Test annotation. Lưu ý test method không được private access và trả về giá trị.

package test;

import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;

class SupportNumber {
    public static boolean isNumberEven(int number) {
        return number % 2 == 0;
    }
}
public class TestExample {
    @Test
    void assertTrue() {
        boolean result = SupportNumber.isNumberEven(8);

        Assertions.assertTrue(result);
    }

    @Test
    void assertFalse() {
        boolean result = SupportNumber.isNumberEven(3);

        Assertions.assertFalse(result);
    }

}

Tóm lược

@Test annotation là một trong những annotation cốt lỗi và có mặt gần như ở tất cả các test class. Ngoài @Test annotation còn có @RepeatedTest, @Parameterized cũng hỗ trợ tạo test method cộng với một số tính năng khác, các bạn có thể đọc thêm tại blog.

Các bạn có thể tham khảo project tại gitlab nếu có trục trặc trong quá trình thực nghiệm kết quả.

Tài liệu tham khảo

https://www.baeldung.com/junit-5-test-annotation

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x