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

本文关键字:何使用 存根 Moq 属性 一个对象 创建对象 | 更新日期: 2023-09-27 18:36:50

我想使用最小起订量GetParametersFromRequest存根方法。我只对 Text 属性感兴趣,我希望字符串*br*替换为 'n .

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

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

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

我想你想要类似的东西

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") });