如何在从另一个对象创建对象并更改属性时使用Moq存根

时间:2016-03-01 14:03:32

标签: c# moq

我想使用Moq存根方法GetParametersFromRequest。我只对Text属性感兴趣,并希望将字符串*br*替换为\n

我想要这样的东西,但我不知道如何正确使用语法(如果可能的话)?:

myServiceMock.Setup(m => m.GetParametersFromRequest(MyRequest req))
             .Returns( new MyParameters() { Text = req.Text.Replace("*br*","\n") });

1 个答案:

答案 0 :(得分:3)

我想你想要像

这样的东西
myServiceMock.Setup(m => m.GetParametersFromRequest(It.IsAny<MyRequest>()))
             .Returns((MyRequest req) => new MyParameters() 
                                         { Text = req.Text.Replace("*br*","\n") });

myServiceMock.Setup(m => m.GetParametersFromRequest(It.IsAny<MyRequest>()))
             .Returns<MyRequest>(req => new MyParameters() 
                                         { Text = req.Text.Replace("*br*","\n") });