c# - 如何检查在模拟对象上使用特定参数调用的方法?

标签 c# .net unit-testing mocking rhino-mocks

你能帮助实现我在下面评论 block 中提到的完成示例单元测试的目标吗?

想法是如何检查一个模拟对象,如果它的方法之一是使用具有特定属性设置为预期值的类型实例调用的/

private IMyObject stub = MockRepository.GenerateMock<IMyObject>();
[TestMethod]
public void MakeMyJob_RecievesValidData_CallsRenderWithCorrectParameter()
{
    SomeUtility.MakeMyJob(5,10,stub);

    stub.AsswertWasCalled(s=>s.Render(Arg<IViewModel>.Is. //What next?
                                            // In order to check if Render is called
                                            // with a IViewModel instance 
                                            // whoose Person.Name property is "Peter"

}

最佳答案

我认为您正在寻找 Rhino Mocks 中的参数约束。前段时间我尝试了一些框架 - link .我想你在找

Arg<IViewModel>.Matches (vm => vm.Person.Name == "Peter" )

关于c# - 如何检查在模拟对象上使用特定参数调用的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7712418/

相关文章:

c# - pdf呈现到asp.net网页导致静态标题

c# - 如何形成此 DateTime 逻辑以将当前时间增加 45 分钟

.net - 打开外部 DTD(w3.org、xhtml1-transitional.dtd)时发生错误。 503 服务器不可用

java - 如何在没有powermock的情况下模拟静态方法

unit-testing - 在 Golang 子进程测试中使用命令行标志时如何生成单元测试覆盖率?

c# - 如何在 asp.net 中存储用户数据?

c# - 如何让我的游戏在 Unity 3D 中使用 C# 响应箭头输入?

C# 根据多个条件过滤列表中的项目

.net - Windows 应用商店有类似控制台的 API 吗?

postgresql - 如何从查询中导出 DBUnit 结果集