Giả định ban đầu của bạn là cần thiết để thử nghiệm phương pháp nội bộ là một quan niệm sai lầm của người mới bắt đầu phổ biến về thử nghiệm đơn vị. Được cấp, có thể tồn tại trường hợp các phương pháp riêng cần được kiểm tra riêng rẽ, nhưng trường hợp chung 99% là các phương pháp riêng đang được kiểm tra ngầm bởi vì chúng làm cho các phương pháp công cộng vượt qua các thử nghiệm của chúng. Các phương thức công khai gọi các phương thức riêng.
Phương thức riêng tư có lý do. Nếu chúng không dẫn đến hành vi có thể kiểm tra bên ngoài, thì bạn không cần chúng.
Có bất kỳ bài kiểm tra công khai nào của bạn không thành công nếu bạn chỉ xóa bài đăng công khai không? Nếu có, thì họ đã được thử nghiệm. Nếu không, thì tại sao bạn cần chúng? Tìm hiểu những gì bạn cần chúng và sau đó thể hiện rằng trong một thử nghiệm chống lại giao diện công cộng.
Lợi ích chính của TDD là mã của bạn trở nên dễ thay đổi. Nếu bạn bắt đầu thử nghiệm nội bộ, sau đó mã trở nên cứng nhắc và khó thay đổi.
Moq không thay thế cho MSTest hoặc mbunit. họ là cả hai khuôn khổ thử nghiệm đơn vị, trong khi Moq là một khuôn khổ mocking. mặc dù hầu như luôn được sử dụng kết hợp, chúng là hai thứ rất khác nhau. btw +1 cho ông chủ của bạn, Moq là tuyệt vời ;-) –