模型视图控制器 – 我应该测试我的控制器(MVC)吗?
我一直在使用TDD几个月,现在我想学习如何测试我的控制器(MVC).
通过测试每个功能的最小单位进行单元测试.有时,控制器不小.他们从模型中获取数据,然后传递给视图. 我应该如何单元测试控制器?我应该嘲笑控制器的依赖吗? 控制器是否考虑了集成测试? 谢谢.
我在做TDD很长时间了我正在做ASP.NET MVC多年的TDD.
我开始使用规范规则:“没有单元测试的代码行”,所以我测试了一切 – 包括控制器.控制器必须进行测试,这是MVC框架的目标之一 – 让这些东西可以测试. 对于小型应用程序,方法工作得很好.几乎所有的逻辑都放在控制器内,一切都非常好的测试. 但是,只要我继续使用MVC,我开始改变主意.我尽量保持控制器尽可能的苗条.理想上,没有什么更多的是将调用委托给一些业务对象并包装结果.其余的是过滤器. 这对我来说也很好!我现在有分开实施/测试的业务对象,所以控制器只是集成点.没有理由测试整合点,因为它是小的. 关于整合测试:我还没有遇到这样的情况,实际上我需要这样的情况.不要忘记,控制器总是依赖于由构造函数注入的抽象.只要你有这么好的假设,这些抽象是如何工作的,你就可以创建适当的单元测试.当您失败时,您只需更正单元测试. 集成测试很重要和有用,但我尽可能少地创建这些测试. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |