Tôi có một phương pháp mà bộ một tài sảnRhino Mocks Khẳng định tài sản Setter được gọi với đúng đối tượng loại
public void SetNetworkCredential(string userName, string password, string domain)
{
_reportExecutionService.Credentials = new NetworkCredential(userName, password, domain);
}
làm thế nào để xác minh rằng Credentials được gọi với một NetworkCredential hợp lệ?
tôi đã cố gắng TestMethod này nhưng nó không thành công bởi vì các đối tượng NetworkCredential là tài liệu tham khảo khác nhau
[TestMethod]
public void TestTest()
{
const string userName = "userName";
const string password = "password";
const string domain = "domain";
var mock = MockRepository.GenerateMock<IReportExecutionService>();
var rptService= new ReportService(mock);
rptService.SetNetworkCredential(userName, password, domain);
mock.AssertWasCalled(x => x.Credentials = new System.Net.NetworkCredential(userName, password, domain));
}
Có cách nào để xác nhận rằng setter được gọi với một đối tượng kiểu NetworkCredential và với các thông số chính xác không?
Câu trả lời xuất sắc, do đó, mã này thực sự hoạt động, nó sẽ kiểm tra nếu setter được gọi với giá trị đã cho: mock.AssertWasCalled (x => x.PropertyName = VALUE_WE_ARE_CHECKING); – Roboblob