![]() |
1
4
简短回答:“是”加“如果”,长回答:“否”加“但是”
控制器级测试的一个问题是,为了有效地进行测试,您通常必须模拟或生成大量的模型和对象。有鉴于此,我发现将这些测试推进到功能层更有价值,在功能层中,测试样式允许您更有效地表达这些依赖关系(通过应用程序本身或通过Cucumber的声明性规则之类的系统显式地遵循生成这些依赖关系所需的步骤)。 |
![]() |
2
2
一切都值得进行单元测试。在这种情况下,这取决于控制器中实现了多少逻辑。。。在小型项目中,您可以不附加任何外部逻辑,并且您可能希望在控制器中执行一些数据库操作(就像许多Microsoft示例中一样)。在更大的解决方案中,您可能不需要测试控制器,因为它的工作只是调用指定的业务逻辑方法。。。这不是关于控制器是否值得进行单元测试,而是关于它们所包含的代码是否。。。 |
![]() |
3
0
MVC模式的一个最好的特性是,可以通过视图将控制器与HTML输出隔离开来进行测试。将逻辑与HTML输出混合在一起的页面很难测试,这是MVC解决的问题之一—它使您的控制器完全依赖于逻辑,您可以在根本不解析HTML的情况下对其进行测试。 理想情况下,您的控制器将从单独的数据访问类获取数据,您可以将这些数据存根出来进行测试,因此您只需测试逻辑即可。从本质上讲,您将控制器与数据库隔离,就像MVC将其与视图隔离一样—这样测试就很容易了,因为您也不需要一个包含测试数据的数据库。 |
![]() |
KollegeBo · 触发更新的POST或GET 2 年前 |
![]() |
mariolototo · 无法获取“/”express以外的路线 2 年前 |
![]() |
nnmmss · 根据查询字符串值激活li 2 年前 |
![]() |
Ezaldeen Ezaldeen · pdo包装器最后一个id返回0 2 年前 |
![]() |
Bruno Vavretchek · JSON模型建议 6 年前 |
![]() |
Pasha · 如何在@RequestBody中传递2个对象? 6 年前 |