安装模拟返回我发送给它的同一个对象?

Iva*_*tin 4 c# tdd moq

我想测试一些代码:

public ViewModel FillClientCreateViewModel(ViewModel model){
    model.Phone = new Phone { Name = "Test"};

    model.Phone = _entityInitializer.FillViewModel(model.Phone);
}
Run Code Online (Sandbox Code Playgroud)

我还想设置FillViewModel以返回我给它的相同对象.

我的测试:

     entityInitMock.Setup(x => x.FillViewModel(It.IsAny<PhoneViewModel>())).Returns(It.IsAny<PhoneViewModel>());

 var result = TestedInstance.FillClientCreateViewModel(CreateViewModel);

 result.Phone.Name.ShouldBe("Test");
Run Code Online (Sandbox Code Playgroud)

但在这种情况下,我的测试失败了 - 因为result.Phone.Name被我的模拟器清理干净了.

我如何设置模拟只是给我相同的对象,我给它.

Tru*_*ill 12

entityInitMock.Setup(x => x.FillViewModel(It.IsAny<PhoneViewModel>()))
    .Returns((PhoneViewModel m) => m);
Run Code Online (Sandbox Code Playgroud)

起订量快速入门是类似的问题有很大的参考.