这会起订量的代码是什么样的RhinoMocks(What would this Moq code l

2019-07-29 00:51发布

嘿人...试图让我的嘲讽与分类asp.net的MVC。

我发现使用起订量净这个例子中,基本上我理解它是说:当ApplyAppPathModifier被调用时,返回传递给它的价值。

我无法弄清楚如何在犀牛嘲笑做到这一点,有什么想法?

var response = new Mock<HttpResponseBase>();
response.Expect(res => res.ApplyAppPathModifier(It.IsAny<string>()))
            .Returns((string virtualPath) => virtualPath);

Answer 1:

如果您正在使用,而不是在SetupResult方法存根方法,那么这种情况的语法如下:

response.Stub(res => res.ApplyAppPathModifier(Arg<String>.Is.Anything))
                .Do(new Func<string, string>(s => s));


Answer 2:

正如我上面提到的,草皮法律,一旦你发帖求助您5分钟后(甚至寻找了一段时间后)找到它。 反正别人这部作品的好处:

SetupResult
    .For<string>(response.ApplyAppPathModifier(Arg<String>.Is.Anything)).IgnoreArguments()
    .Do((Func<string, string>)((arg) => { return arg; }));


Answer 3:

除非我误读的代码,我认为你可以简化下来不少。 试试这个:

var response = MockRepository.GenerateMock<HttpResponseBase>();

response.Stub(res => res.ApplyAppPathModifier(Arg<String>.Is.Anything)) 
                        .IgnoreArguments()
                        .Return(virtualPath);


文章来源: What would this Moq code look like in RhinoMocks