Những mẹo dưới đây dựa trên quan điểm của T3H nên có thể chưa đầy đủ và được sắp xếp ngẫu nhiên, hy vọng rằng có ích cho các bạn.
-
Làm chúng thật ngắn ngọn
Vì chúng ta thực hiện test từng chức năng một, trên từng đoạn (unit) code, nên một bộ test cần ngắn gọn và hợp lý. Vậy làm thế nào để nó trở nên ngắn gọn? Điều đó phụ thuộc vào nhiều yếu tố, nhưng thường sẽ không dài hơn một vài dòng code.
-
Ưu tiên Composition hơn Inheritance
Nếu bạn thừa nhận hai quan điểm nêu ở trên, bạn có thể cảm thấy giải pháp là tạo những base class cho các bộ test chứa các code thường được sử dụng. Nếu bạn làm, hãy dừng lại ngay! Một base class hoạt động như một nam châm ảnh hưởng đến tất cả các code không liên quan được chia sẻ và chúng sẽ phát triểnnhanh chóng cho đến khi vượt qua tầm kiểm soát trong dự án của bạn và thậm chí công ty của bạn. Bảo vệ dự án của bạn, hãy sử dụng composition!
(Mục đích của Unit Test không phải là để tìm bug như nhiều người lầm tưởng)
-
Thiết kế bộ test của bạn
Xử lý các test của bạn với sự quan tâm tương tự cách mà bạn xử lý production code. Xem xét cả hai nguyên tắc thiết kế và các thông số như khớp nối giữa test code và production code, dead code và những thứ tương tự. Hãy nhớ rằng một bộ test tốt có thể làm cuộc sống của bạn dễ dàng hơn bằng cách khiến bạn cảm thấy an toàn khi thay đổi và tái cấu trúc code, trong khi một bộ test tồi có thể làm cho bạn đau đớn, lãng phí thời gian và làm cho code của bạn gần như không thể sửa được
-
Khiến chúng chạy thật nhanh
Unit test là cái gì đó mà bạn có thể chạy thử thường xuyên. Vì lý do này, hãy hạn chế mô phỏng các external dependency và những thứ khác có thể làm phần test của bạn bị chậm. Thường là những thứ như cơ sở dữ liệu, các external system hoặc file operation. Tuy nhiên, đừng lạm dụng việc này, vì cô lập hoàn toàn của các đơn vị đang test cũng không phải là một giải pháp tốt.
>>> Xem thêm các thông tin hữu ích tại t3h.edu.vn
-
Đừng lặp lại code
Theo kinh nghiệm của tôi, một trong những quy tắc phổ biến nhất trong các unit test là TINH GIẢN. Một số người thậm chí còn cho rằng trong unit test không nên nhắc đến một đoạn code nào. Tất nhiên, bạn muốn các bản test của bạn dễ nhất có thể, nhưng việc copy lại những dòng code không phải là giải pháp.
-
Đừng bỏ qua một phần test nào
Trong điều 4 và 5, điều đặc biệt quan trọng đề cập đến hành động thêm chú giải Ignore vào test, đó không phải là cách để sửa bộ test của bạn. Đó là cách làm cho bộ test của bạn không
Techtalk via Tidyjava