所以 MvcContrib TestHelpers 创建以下的模拟版本
- HttpContext
- HttpRequest
- HttpResponse
- HttpSession
- 形式
- 临时数据
- 请求参数
- 应用路径
- 路径信息
使用这种代码时在假控制器中
var _controller = new FooController();
var _builder = new TestControllerBuilder();
_builder.InitializeController(_controller);
但是你会注意到他们没有创建一个假的/模拟的服务器对象。大概有一个很好的理由为什么不这样做。但是我试图删除 Server.MapPath() 方法,因为我的 SUT 中的方法使用它,当然在测试期间它返回 NULL。
TestHelpers 使用 rhino 模拟(v3.5),我也是。我知道存根方法的语法,但是如何将服务器假/模拟对象放入我的控制器中,以便我可以存根方法?