当从另一个对象创建对象并更改属性时,如何使用 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") });