我需要一些有关为当前ASP.NET MVC应用程序编写集成测试的有效方法的建议。我们的架构包括:
我认为应该做的是:
单独编写所有部分的行为单元测试。因此,例如,我们应该在模拟存储库和消息队列时对服务层进行单元测试。
控制器也是如此。因此,我们模拟服务层并对Controller进行单元测试。
我的问题:
我们需要编写其他类型的集成测试吗?
我们是否还需要使用真实的存储库和消息队列编写服务集成测试?
我们是否仍然需要使用真实服务(实际的存储库和消息队列组成)为控制器编写集成测试。
任何建议都将不胜感激。
干杯
答案 0 :(得分:1)
在办公室,我们不会对真实服务进行测试。
我们被建议不要使用真实服务进行测试,我们使用Rhino Mocks来模拟控制器操作中调用方法的答案。
所以问题仍然是关于如何以良好的方式进行集成测试。
也许这可以帮到你:
http://www.codeproject.com/Articles/98373/Integration-testing-an-ASP-NET-MVC-application-wit.aspx
但我仍在寻找对其可能性的更好理解。
答案 1 :(得分:1)
我正在使用Ivonna来测试各种级别的隔离。我能够测试具有某些特定POST数据的特定Url使用预期参数命中预期的Action方法,同时我能够存根/模拟外部服务。
答案 2 :(得分:0)
我一直在使用SpecsFor.MVC进行集成测试。基本上,您在测试类中编写代码,框架运行浏览器将C#解释为浏览器操作。它的使用和设置非常简单。