ASP.NET MVC已经成为一个单元测试框架很长的路要走(相对于web表单)。但是,我们经常面对一些剩余的猪,比如FormsAuthentication,我通常将它们包装在某种类型的UserSession对象中,以保持其清洁和可测试性。有一天,我意识到我是用在使用Server.Mappath我的控制器动作,和而像MvcContrib可以很容易(ISH)嘲笑当前请求,我发现自己下去创建FileSystemService类的路径环绕操作与文件系统。好处是您可以获得一个严格的API,仅暴露您需要的方法,并且很容易在测试中存根/模拟。缺点是它是另一个构造函数依赖项。ASP.NET MVC单元测试的HttpContext
什么对这种情况多所社区的事情吗?试图使控制器尽可能轻便灵活时,你在哪里画线?
绝对是主观的。什么是轻便/灵活的控制器?这是值得商榷的。 – jfar 2010-08-20 15:31:25
更具体地说,那么当你停止尝试摆脱依赖于Request/HttpContext的静态框架方法 – RickP 2010-08-20 15:33:42
好的,改变你的问题。 – jfar 2010-08-20 15:43:20