Trong phần tóm tắt câu trả lời khá đơn giản.
Bạn có ba lớp.
[Trường hợp thử nghiệm] -> [Hành vi được thử nghiệm] -> [Các cộng tác viên được sử dụng bởi hành vi đó]
Lớp thứ ba là những gì nên được chế giễu. Ví dụ:
- cái
PokemonCaptureServiceTest
;
- xét nghiệm
PokemonCaptureService
;
- trong đó sử dụng
Pokeball
Trong ví dụ này hóa ra đó Pokeball
là logic của bên thứ ba. Nó yêu cầu tất cả các loại hệ thống ống nước như kết nối cơ sở dữ liệu và tệp thuộc tính, v.v. Bạn tin rằng bên thứ ba của bạn đã kiểm tra nó một cách thích hợp, vì vậy bạn muốn bỏ qua nó khỏi thử nghiệm của mình PokemonCaptureService
. Do đó nó nên bị chế giễu.
Tuy nhiên, ở một thời gian và địa điểm khác, cộng tác viên Pokeball
là một lớp đơn giản giới thiệu rất ít sự phức tạp vào trường hợp thử nghiệm và có thể được đưa vào thử nghiệm một cách dễ dàng. Trong trường hợp này, bạn có thể quyết định đưa vào một ví dụ thực tế Pokeball
trong PokemonCaptureService
trường hợp đang được thử nghiệm.
Không có luật chuyên chế. Tùy thuộc vào bạn để thiết kế các bài kiểm tra của bạn theo cách có vẻ tốt nhất cho bạn. Mục tiêu của bạn là tạo ra các bài kiểm tra chính xác và có thể duy trì càng nhanh càng tốt. Kinh nghiệm là chìa khóa ở đây. Viết thêm các bài kiểm tra và bạn sẽ sớm có được một trực giác tốt cho nó.