Giả sử bạn có các bài kiểm tra cho hai phương thức của một lớp. Phương thức đầu tiên thu thập dữ liệu từ một tầng khác và đưa nó vào một loại lưu trữ độc lập với thời gian chạy (như bảng SQL), vì vậy tất cả dữ liệu được xử lý bởi thử nghiệm này được mã hóa cứng vào thử nghiệm. Phương thức thứ hai chịu trách nhiệm lấy dữ liệu từ nơi phương thức đầu tiên rời khỏi nó và biến đổi nó theo một cách nào đó (tính toán, di chuyển một số phần nhất định ở nơi khác, v.v.).
Bây giờ phương thức thứ hai này có thể có các đầu vào được mã hóa cứng như đầu vào đầu tiên, hoặc có thể giả định rằng hai thử nghiệm sẽ được chạy tuần tự và nó có thể chọn nơi thử nghiệm đầu tiên dừng lại, lấy dữ liệu thực sự được lưu trữ bởi thử nghiệm đầu tiên.
Nếu bạn đã chọn tùy chọn thứ hai, bạn thực sự sẽ biết rằng hai phương pháp này kết hợp tốt với nhau, tuy nhiên, nếu thử nghiệm đầu tiên thất bại, tất cả các thử nghiệm sau đó sẽ thất bại, lấy đi lợi ích thử nghiệm giúp cách ly lỗi nhanh hơn.
Nếu bạn đã chọn tùy chọn đầu tiên, mỗi phương thức sẽ được cách ly và kiểm tra độc lập, nhưng bạn sẽ không bao giờ thực sự biết rằng chúng có thể thực sự hoạt động đúng với nhau.
Đó là lựa chọn tốt hơn ở đây? Có một số cách thay thế như có một thử nghiệm duy nhất cho mỗi phương thức bị cô lập với mã hóa cứng, và sau đó các thử nghiệm lớn hơn chứa cả hai phương thức trong một?