gpt4 book ai didi

php - MVC Web 应用程序中的 Controller 应该是可单元测试的吗?

转载 作者:可可西里 更新时间:2023-11-01 12:18:43 26 4
gpt4 key购买 nike

在我看来,不同编程语言的 Web 开发人员通常对此有不同的看法。例如,Ruby web 开发人员(Rails 是主要框架)似乎将 Controller 视为胶水代码,应该进行功能测试,但不进行单元测试。类似的态度在 PHP 世界中占主导地位,但也有一些主动性(例如 Symfony2)。

但是,似乎也有一些 ASP.NET MVC 开发人员实际上 want their controllers to be unit-testable .

我想知道的是,这是否真的适用于网络开发。 Controller 值得进行单元测试吗?将它们设计为可单元测试是否会明显削弱非平凡应用程序的开发速度?此外,是否有任何 Web 框架试图强制执行 Controller 单元可测试性?欢迎个人经验。

最佳答案

简短回答:"is"和“如果”,长回答:“否”和“但是”。

这些天我倾向于错过 Controller 级别的单元测试,转而支持模型和业务对象的强大单元测试覆盖以及 Cucumber 的功能测试覆盖。这里的假设是 Controller 是非常轻量级的对象,它们将数据路由到封装绝大多数业务逻辑的底层模型中。

但是,我仍然倾向于对 Controller 级别的某些控制流进行一些非常简单的介绍。它更像是一种完整性检查。

Controller 级测试的一个问题是,您通常必须模拟或生成大量模型和对象才能进行有效测试。鉴于此,我发现将这些测试插入功能层更有值(value),在这些功能层中,测试风格允许您更有效地表达这些依赖关系(通过明确遵循通过应用程序本身或通过类似系统生成它们所需的步骤) Cucumber 的声明规则)。

关于php - MVC Web 应用程序中的 Controller 应该是可单元测试的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3414404/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com