Mục lục
@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:
- Truyền 1 số chẵn và mong muốn kết quả trả về là true.
- 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