gpt4 book ai didi

rhino-mocks - 使用正确的对象类型调用 Rhino Mocks Assert Property Setter

转载 作者:行者123 更新时间:2023-12-04 13:15:23 25 4
gpt4 key购买 nike

我有一个设置属性的方法

public void SetNetworkCredential(string userName, string password, string domain)
{
_reportExecutionService.Credentials = new NetworkCredential(userName, password, domain);
}

如何验证是否使用有效的 NetworkCredential 调用了 Credentials?

我尝试了这个 TestMethod 但它失败了,因为 NetworkCredential 对象是不同的引用
[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));
}

有没有办法验证是否使用 NetworkCredential 类型的对象和正确的参数调用了 setter?

最佳答案

我通过让 ReportService 接受网络凭据而不是用户名、密码、域来修复它

public void SetNetworkCredential(NetworkCredential networkCredential)
{
_reportExecutionService.Credentials = networkCredential;
}

所以我的测试要容易得多
[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);

var networkCredential = new System.Net.NetworkCredential(userName, password, domain);

rptService.SetNetworkCredential(networkCredential);

mock.AssertWasCalled(x => x.Credentials = networkCredential);
}

关于rhino-mocks - 使用正确的对象类型调用 Rhino Mocks Assert Property Setter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1209891/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com