我正在尝试在ASP.NET MVC控制器上定义一些验收测试。我的测试在您可能期望的单独测试应用程序的上下文中运行。我的MVC控制器需要在应用程序的上下文中运行 - 即在为MVC项目定义的web.config之上运行。该项目正在使用Castle Windsor来实例化实时项目中的依赖项。
我希望我的测试直接实例化MVC控制器,而不是作为HTTP客户端运行。
我们过去通过将web.config从Web项目复制到测试项目来完成此操作,但随着时间的推移,这已成为每次更改时都必须跟踪依赖关系链的维护噩梦。
是否有更合适的方法来测试此堆栈而不用
答案 0 :(得分:0)
过去,我exposed my application settings through an interface。让我在测试期间模拟它们,并且无需在Web项目和测试项目之间复制这些设置。
对于单元测试MVC控制器,如果您使用基于HTTP上下文的对象(如Request,Repsonse,Session等),则可能必须使用一些帮助程序库...我已经used MVC Contrib in the past进行此类排序事情。