【发布时间】:2011-11-01 23:19:59
【问题描述】:
我需要模拟HttpResponseBase.ApplyAppPathModifier,以便模拟自动返回参数ApplyAppPathModifier。
我有以下代码:
var httpResponseBase = new Mock<HttpResponseBase>();
httpResponseBase.Setup(hrb => hrb.ApplyAppPathModifier(/*capture this param*/))
.Returns(/*return it here*/);
有什么想法吗?
编辑:
在 Moq 文档 (http://code.google.com/p/moq/wiki/QuickStart) 的第一页找到了解决方案:
var httpResponseBase = new Mock<HttpResponseBase>();
httpResponseBase.Setup(hrb => hrb.ApplyAppPathModifier(It.IsAny<string>)
.Returns((string value) => value);
我突然觉得自己傻了很多,不过我猜这就是你在23:30写代码时会发生的事情
【问题讨论】:
-
我需要抛出一个传入的
Exception参数。我使用Callback()方法(而不是Returns())来抛出它。只是为了后代和完整性。 -
@gregsdennis 太棒了!感谢您的发布。之前没有注意到
Callback()- 也许它是最近才引入的。