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

How to stub with Moq when an object is created from another and a property is changed

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

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

myServiceMock.Setup(m => m.GetParametersFromRequest(MyRequest req))
             .Returns( 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") });

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