unit-testing - 我的应用程序的哪一层应该进行集成测试:Controller vs Service VS DAO?
问题描述
如果我的应用程序有三层 1. Controller 2. Service 3. DAO
以上哪一层应该有集成测试?
目前,我已经用广泛的单元测试用例覆盖了控制器和服务层,包括各个层中的任何验证。我还模拟了这些层中的任何依赖项。
我只对我的 DAO 方法进行集成测试,以实际测试数据库交互。
这是仅对 DAO 层进行集成测试并在需要时使用模拟对所有其他层进行单元测试的好方法吗?或者我还应该为我的控制器和服务层编写集成测试吗?请分享想法。
解决方案
测试金字塔建议你应该有非常多的单元测试、许多单后期集成测试、一些多级集成测试和极少数完整的端到端测试。
推荐阅读
- java - 在 Java 中的 GUI 中创建延迟
- java - 如何在 HttpRequest 中设置路径和查询参数?
- asana - Asana 没有使用 API 返回项目的所有任务
- postgresql - last_analyzed 用于外部表
- python - 使用字典字段实例化对象打印为空
- ios - 如何在 Swift 中打开 .ics 文件?
- python - 使用 python flask restx,如何在不上传整个文件的情况下知道文件名
- python - 为什么 VSCode 需要永远查找引用并且无法重命名符号?
- reportgenerator - Reportgenerator 在转换为 Cobertura 和 Sonar 格式时会跳过特定的项目覆盖范围
- python - 如何测试使用相同路径查找和创建文件的函数,以便在临时目录中创建?