Chắc chắn rồi. Một số người nói "bất kỳ bài kiểm tra nào tốt hơn là không có bài kiểm tra nào". Tôi hoàn toàn không đồng ý - các bài kiểm tra viết kém làm giảm thời gian phát triển của bạn và cuối cùng bạn sẽ lãng phí ngày sửa chữa các bài kiểm tra "bị hỏng" vì chúng không phải là bài kiểm tra đơn vị tốt ngay từ đầu. Đối với tôi tại thời điểm này, hai điều tôi đang tập trung để làm cho các bài kiểm tra của mình có giá trị, thay vì một gánh nặng, là:
Bảo trì
Bạn nên kiểm tra kết quả ( điều gì xảy ra), không phải phương thức ( cách nó xảy ra). Việc thiết lập thử nghiệm của bạn nên được tách rời khỏi quá trình thực hiện càng tốt: chỉ thiết lập kết quả cho các cuộc gọi dịch vụ, v.v ... thực sự cần thiết.
- Sử dụng khung mô phỏng để đảm bảo các bài kiểm tra của bạn không phụ thuộc vào bất cứ điều gì bên ngoài
- Ưu tiên sơ khai trên giả (nếu khung của bạn phân biệt giữa chúng) bất cứ khi nào có thể
- Không có logic trong các bài kiểm tra! Ifs, switch, for-everyes, case, try-Catch, v.v ... đều là những no-nos lớn, vì chúng có thể đưa lỗi vào chính mã kiểm tra
Dễ đọc
Bạn có thể cho phép lặp lại nhiều hơn một chút trong các thử nghiệm của mình, điều mà bạn thường không cho phép trong mã sản xuất của mình, nếu điều đó làm cho chúng dễ đọc hơn. Chỉ cần cân bằng điều này với các công cụ bảo trì ở trên. Hãy rõ ràng trong những gì bài kiểm tra đang làm!
- Cố gắng duy trì phong cách "sắp xếp, hành động, khẳng định" cho các bài kiểm tra của bạn. Điều này tách biệt thiết lập của bạn và kỳ vọng của kịch bản, từ hành động được thực hiện và kết quả được xác nhận.
- Duy trì một xác nhận hợp lý cho mỗi bài kiểm tra (nếu tên bài kiểm tra của bạn có "và" trong đó, bạn có thể cần chia nó thành nhiều bài kiểm tra)
Tóm lại, bạn nên rất quan tâm đến các xét nghiệm "có mùi" - chúng có thể chỉ lãng phí thời gian của bạn, không mang lại giá trị.
Bạn đã nói:
Kiểm tra đơn vị thường yêu cầu các "hack có mùi" khác nhau như các chức năng khai thác.
Âm thanh như bạn chắc chắn có thể làm với việc đọc một số kỹ thuật Kiểm tra đơn vị, chẳng hạn như sử dụng khung Mocking, để làm cho cuộc sống của bạn trở nên dễ dàng hơn rất nhiều. Tôi rất rất muốn giới thiệu Nghệ thuật kiểm tra đơn vị , bao gồm những điều trên và nhiều hơn nữa. Tôi tìm thấy nó khai sáng sau khi vật lộn với các bài kiểm tra viết kém, không rõ ràng, "có mùi" trong một thời gian dài. Đó là một trong những khoản đầu tư thời gian tốt nhất mà tôi đã thực hiện trong năm nay!