我想测试一些代码:
public ViewModel FillClientCreateViewModel(ViewModel model){
model.Phone = new Phone { Name = "Test"};
model.Phone = _entityInitializer.FillViewModel(model.Phone);
}
我还想设置FillViewModel以返回我给它的相同对象。
我的测试:
entityInitMock.Setup(x => x.FillViewModel(It.IsAny<PhoneViewModel>())).Returns(It.IsAny<PhoneViewModel>());
var result = TestedInstance.FillClientCreateViewModel(CreateViewModel);
result.Phone.Name.ShouldBe("Test");
但在这种情况下,我的测试结果 - 因为result.Phone.Name被我的模拟器清理干净了。
我如何设置模拟只是给我相同的对象,我给它。
答案 0 :(得分:11)
entityInitMock.Setup(x => x.FillViewModel(It.IsAny<PhoneViewModel>()))
.Returns((PhoneViewModel m) => m);
Moq QuickStart是类似问题的绝佳参考。