因此,MvcContrib TestHelpers会创建以下
的模拟版本
var _controller = new FooController();
var _builder = new TestControllerBuilder();
_builder.InitializeController(_controller);
但是你会注意到他们没有创建假/模拟服务器对象。据推测,有充分理由不这样做。但我正在尝试删除Server.MapPath()方法,因为我的SUT中的方法使用它,当然在测试期间它返回NULL。
TestHelpers使用rhino mocks(v3.5),我也是。我知道删除方法的语法,但是如何将 Server 伪/模拟对象放入我的控制器中,所以我可以剔除这个方法吗?
答案 0 :(得分:0)
HttpServerUtility类是密封的,但Microsoft提供了一个抽象的HttpServerUtilityBase,可用于模拟(以及MVCContrib使用的)。 Simon的问题是由于MVCContrib中的一个错误。有关解决方案,请参阅:Trying to stub Server.MapPath with MvcContrib Test helpers and Rhino Mocks 3.5。