Có bạn - trước hết, hãy quên việc kiểm thử đơn vị là một lý do để thiết kế mã của bạn xung quanh các công cụ kiểm tra đơn vị, không bao giờ nên uốn cong thiết kế mã của bạn để phù hợp với một ràng buộc nhân tạo. Nếu các công cụ của bạn buộc bạn phải làm điều này, hãy lấy các công cụ tốt hơn (ví dụ: Microsoft Fakes / Moles cho phép bạn có nhiều tùy chọn hơn để tạo các đối tượng giả).
Ví dụ, bạn có chia các lớp của mình thành các phương thức công khai chỉ vì các công cụ kiểm tra không hoạt động với các phương thức riêng tư? (Tôi biết sự khôn ngoan phổ biến là giả vờ rằng bạn không cần thử nghiệm các phương pháp riêng tư, nhưng tôi cảm thấy đây là một phản ứng đối với khó khăn khi làm như vậy với các công cụ hiện tại, không phải là phản ứng thực sự khi không cần thử nghiệm riêng tư).,
Nói chung, bạn thuộc loại TDDer nào - "kẻ nhạo báng" như Fowler mô tả về họ, cần thay đổi mã cho phù hợp với các công cụ họ sử dụng, trong khi những người thử nghiệm "cổ điển" tạo ra các thử nghiệm tích hợp nhiều hơn trong tự nhiên (tức là kiểm tra lớp dưới dạng một đơn vị, không phải mỗi phương thức) vì vậy sẽ ít cần giao diện hơn, đặc biệt nếu bạn sử dụng các công cụ có thể giả định các lớp cụ thể.