Tôi có một phương pháp riêng mà phải trả lại true.I m sử dụng Nunit và MOQ Vì vậy, tôi có như sau:Làm cách nào tôi có thể khẳng định/xác minh Phương thức được bảo vệ bằng Moq?
[TestFixture]
public class CustomerTestFixture
{
var customerMock=new Mock<ICustomer>()
customerMock.Protected().Setup<bool>("CanTestPrivateMethod").Returns(true);
// How do I assert it now since I cannot do
customerMock.Verify //Verify does not exists.
}
không thể tìm thấy bất cứ điều gì trên google cho bạn biết làm thế nào để kiểm tra nó. như bạn có thể thấy tôi có thể thiết lập cho nó nhưng không thể khẳng định.
Tôi có thiếu hiển nhiên không? Cảm ơn rất nhiều.
Cảm ơn bạn đã trả lời. Tôi muốn đối tượng giả lập của tôi.CanTestPrivateMethod trả về các giá trị cụ thể. Vì vậy, nếu tôi mã hóa "trả về true" theo phương pháp riêng của mình. Tôi vẫn có thể khẳng định điều đó? Theo quan điểm của tôi, tôi không nên thử nghiệm phương pháp riêng, nhưng đồng nghiệp của tôi nhấn mạnh vào phương pháp này. Vì vậy, tôi chỉ cố gắng tìm ra cách để làm điều đó bằng cách sử dụng MOQ. – user9969
Bạn đang bỏ lỡ quan điểm của tôi. Đừng chế nhạo đối tượng đang thử nghiệm. Chỉ giả chế đó là phụ thuộc. Tạo một cá thể thực tế, thiết lập các điều kiện để phương thức riêng tư trả về một giá trị cụ thể, sau đó sử dụng accessor để kiểm tra xem phương thức đó có thực sự trả về giá trị đó không. Nhu cầu duy nhất cho mocks sẽ là nếu cá thể có một số phụ thuộc mà bạn sẽ sử dụng bên trong phương thức riêng của bạn. – tvanfosson
Cảm ơn bạn đã dành thời gian và trả lời.Tôi đã nhận được điểm ngay bây giờ. – user9969