模型视图控制器 – 我应该测试我的控制器(MVC)吗?

前端之家收集整理的这篇文章主要介绍了模型视图控制器 – 我应该测试我的控制器(MVC)吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我一直在使用TDD几个月,现在我想学习如何测试我的控制器(MVC).

通过测试每个功能的最小单位进行单元测试.有时,控制器不小.他们从模型中获取数据,然后传递给视图.

我应该如何单元测试控制器?我应该嘲笑控制器的依赖吗?

控制器是否考虑了集成测试?

谢谢.

我在做TDD很长时间了我正在做ASP.NET MVC多年的TDD.

我开始使用规范规则:“没有单元测试的代码行”,所以我测试了一切 – 包括控制器.控制器必须进行测试,这是MVC框架的目标之一 – 让这些东西可以测试.

对于小型应用程序,方法工作得很好.几乎所有的逻辑都放在控制器内,一切都非常好的测试.

但是,只要我继续使用MVC,我开始改变主意.我尽量保持控制器尽可能的苗条.理想上,没有什么更多的是将调用委托给一些业务对象并包装结果.其余的是过滤器.

这对我来说也很好!我现在有分开实施/测试的业务对象,所以控制器只是集成点.没有理由测试整合点,因为它是小的.

关于整合测试:我还没有遇到这样的情况,实际上我需要这样的情况.不要忘记,控制器总是依赖于由构造函数注入的抽象.只要你有这么好的假设,这些抽象是如何工作的,你就可以创建适当的单元测试.当您失败时,您只需更正单元测试.

集成测试很重要和有用,但我尽可能少地创建这些测试.

猜你在找的设计模式相关文章