Tôi theo TDD một cách tôn giáo. Các dự án của tôi thường có phạm vi kiểm tra 85% hoặc tốt hơn, với các trường hợp thử nghiệm có ý nghĩa.
Tôi làm rất nhiều việc với HBase và giao diện máy khách chính, HTable, là một nỗi đau thực sự để chế giễu. Tôi phải mất 3 hoặc 4 lần để viết bài kiểm tra đơn vị của mình so với việc viết bài kiểm tra sử dụng điểm cuối trực tiếp.
Tôi biết rằng, về mặt triết học, các bài kiểm tra sử dụng giả nên ưu tiên hơn các bài kiểm tra sử dụng điểm cuối trực tiếp. Nhưng chế giễu HTable là một nỗi đau nghiêm trọng và tôi không thực sự chắc chắn rằng nó mang lại nhiều lợi thế hơn so với thử nghiệm đối với một phiên bản HBase trực tiếp.
Mọi người trong nhóm của tôi chạy một phiên bản HBase một nút trên máy trạm của họ và chúng tôi có các phiên bản HBase một nút chạy trên các hộp Jenkins của chúng tôi, vì vậy đó không phải là vấn đề về tính khả dụng. Các thử nghiệm điểm cuối trực tiếp rõ ràng mất nhiều thời gian hơn so với các thử nghiệm sử dụng giả, nhưng chúng tôi không thực sự quan tâm đến điều đó.
Ngay bây giờ, tôi viết các bài kiểm tra điểm cuối trực tiếp VÀ các bài kiểm tra dựa trên giả cho tất cả các lớp của tôi. Tôi rất muốn bỏ các giả, nhưng tôi không muốn chất lượng giảm sút.
Tất cả các bạn nghĩ gì?