Cách viết Unit Test chuẩn nhất
Unit Test là một phần không thể thiếu khi phát triển phần mềm, dù là bạn đang viết bất kỳ ngôn ngữ nào đi nữa thì unit test sẽ giúp cho ứng dụng của bạn trở nên rõ ràng, đảm bảo chất lượng sản phẩm hơn rất nhiều.
Ở đây mình không nói sâu về unit test quá nhiều, mình sẽ nói về cách viết unit test sao cho chuẩn, sao cho ngầu lòi và tất cả mọi người đều có thể hiểu và từ đó cũng đánh giá được ứng dụng của bạn có tốt, có đảm bảo chất lượng hay không.
Code coverage
Để đảm bảo ứng dụng của bạn tốt đến mức nào, chất lượng sản phẩm tuyệt vời đến mức nào thì bạn cần lưu tâm đến độ bao phủ unit test của ứng dụng.
Naming
Naming là phần cơ bản và cực kì quan trọng trong unit test. Nó sẽ giúp bạn và đồng nghiệp của bạn đều hiểu function test đó là gì, và nó sẽ hoạt động như thế nào. Để có một naming tốt thì cần trả lời 3 câu hỏi như sau:
Thực hiện hành động gì?
Trạng thái dữ liệu để test như thế nào?
Kết quả mong muốn là gì?
Ví dụ:
Sử dụng AAA pattern
AAA pattern là bao gồm các thành phần Arrange, Act, Assert trong test function của bạn. Giúp cho code của bạn sẽ chia ra rõ ràng khi test. Đây là một pattern phổ biến trong unit test mà mọi người đều sử dụng. Vì vậy không có lý do gì mà chúng ta không làm theo.
Arrange: chuẩn bị tài nguyên input, output cần thiết trước khi gọi hàm để test.
Act: hành động cụ thể để test.
Assert: Những assert mà hàm test hướng đến.
Ví dụ:
Tránh sử dụng logic phức tạp
Hãy hiểu đơn giản unit test function là chỉ để test nhưng function, đừng nên chứa logic gì trong đó. Ở code chính, service, util là cũng đủ rồi. Vì vậy đừng nên cố gắng nhồi nhét vào đây những logic phức tạp.
Đừng sử dụng magic code
Việc sử dụng magic code là điều cực kỳ phổ biến cho anh em lập trình viên mới, magic code sẽ làm cho code không rõ ràng và người khác cũng sẽ bị mơ hồ về mục đích mà bạn muốn đề cập đến.
Ở ví dụ trên mình cũng đã cố tình viết magic coce để bạn hình dung. Mình sẽ sửa code lại để cho code clear hơn.
Nên sử dụng mock object
Last updated