测试依赖Castle Windsor进行配置的MVC控制器的最佳方法是什么?

时间:2015-02-18 18:43:17

标签: asp.net-mvc tdd castle-windsor acceptance-testing

我正在尝试在ASP.NET MVC控制器上定义一些验收测试。我的测试在您可能期望的单独测试应用程序的上下文中运行。我的MVC控制器需要在应用程序的上下文中运行 - 即在为MVC项目定义的web.config之上运行。该项目正在使用Castle Windsor来实例化实时项目中的依赖项。

我希望我的测试直接实例化MVC控制器,而不是作为HTTP客户端运行。

我们过去通过将web.config从Web项目复制到测试项目来完成此操作,但随着时间的推移,这已成为每次更改时都必须跟踪依赖关系链的维护噩梦。

是否有更合适的方法来测试此堆栈而不用

  1. 复制导致维护噩梦的网络配置
  2. 让我们的验收测试通过http
  3. 以客户端/服务器方式运行

1 个答案:

答案 0 :(得分:0)

过去,我exposed my application settings through an interface。让我在测试期间模拟它们,并且无需在Web项目和测试项目之间复制这些设置。

对于单元测试MVC控制器,如果您使用基于HTTP上下文的对象(如Request,Repsonse,Session等),则可能必须使用一些帮助程序库...我已经used MVC Contrib in the past进行此类排序事情。