测试依赖温莎城堡进行配置的 MVC 控制器的最佳方法是什么?



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

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

我们过去曾通过将web.config从web项目复制到测试项目来做到这一点,但随着时间的推移,这已经成为一场维护噩梦,每次进行更改时都必须跟踪依赖关系链。

有没有更合适的方法在没有的情况下测试这个堆栈

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

过去,我通过接口公开了我的应用程序设置。让我们在测试期间模拟它们,并消除了在web项目和测试项目之间复制这些设置的需要。

对于单元测试MVC控制器,如果您使用基于HTTP上下文的对象,如Request、Repsonse、Session等,则可能需要使用一些帮助程序库。我过去曾使用MVC Contrib来做这类事情。

最新更新