【发布时间】:2011-07-12 14:20:53
【问题描述】:
我有一个单元测试方法需要模拟(存根?)我正在测试的类中的两个存储库方法调用。到目前为止,我完成的每个示例都显示了 Mock 的一种设置方法,但现在我需要两种。
例子:
_employeeRepositoryMock.Setup(e => e.GetEmployees())
.Returns(new Employee[]
{
new Employee
{
Name = "John Doe"
}
});
_employeeRepositoryMock.Setup(e => e.UpdateEmployee(1)).Returns(true);
Assert.IsTrue(_employeeService.UpdateEmployeeRecords() > 0);
_employeeRepositoryMock.Verify(gr => gr.UpdateEmployee(1), Times.Exactly(1));
在这个例子中,我需要模拟两个在“UpdateEmployeeRecords()”中调用的存储库方法,但我不确定如何。
更新
解决整个问题——我忽略了一些简单的事情。我为 UpdateEmployee 传递了错误的数值,导致 Assert 失败。我将模拟中的参数更改为 It.IsAny 以使其通过。
【问题讨论】:
标签: asp.net-mvc unit-testing moq