Rad*_*u D 2 asp.net-mvc unit-testing asp.net-mvc-3
我最近刚开始使用MVC,因为我听说MVC的主要优点是它使应用程序单元可测试.在编写了第一个单元测试之后,我发现测试内部有很多逻辑的控制器并不总是很简单(发送确认电子邮件,使用Session,上下文和其他ASP Net静态).编写单元测试比使用功能需要更多时间,我不相信这是有用的.
我很想将业务逻辑转移到一个"服务"层,消除所有ASP Net静态,并且可以轻松测试.然后使用Selenium进行集成测试,以测试整个功能.
在测试动作非常复杂时(特别是嘲笑输入和设置环境),您是否遇到过这种情况?
您是否找到了在控制器中使用业务逻辑的好方法 或者您发现使用服务和控制器代码更好地中继服务调用?
在我看来,测试控制器更像是集成测试,而不是单元测试.你怎么看待这件事?
您是否认为单元测试控制器优于集成测试?
我很想将业务逻辑转移到一个"服务"层,消除所有ASP Net静态,并且可以轻松测试.然后使用Selenium进行集成测试,以测试整个功能.
这非常正确.如果你的控制器很复杂,那么它们需要重构.他们根本不应该有任何业务逻辑.您可以使用Mock框架来模拟服务层并以这种方式轻松测试控制器.
在我看来,测试控制器更像是集成测试,而不是单元测试.你怎么看待这件事?
我不同意这一点.您正在测试控制器,以确保它根据您提供的输入返回相应的响应.提供不存在的ID?重定向到另一个页面或返回NotFound视图.模型状态无效?再次返回相同的视图等.
| 归档时间: |
|
| 查看次数: |
1307 次 |
| 最近记录: |