知识卡片
南向网关适配器先于应用服务实现并用集成测试验证
内容
实现领域层代码后,关注点将在北向网关的应用服务交汇。由于应用服务通过集成测试验证,因此需要先实现访问外部资源的南向网关适配器。资源库属菱形对称架构的端口角色,其接口已在领域实现建模阶段被TDD推导出来(如TicketHistoryRepository的latest/add/deleteBy)。虽然领域服务与聚合、端口接口都已确定,但端口的实现尚未验证,故应在实现应用服务之前,先为南向网关适配器编写集成测试验证其正确性。集成测试需准备测试环境、执行效率低于单元测试,故应把单元测试和集成测试分为两个不同的构建阶段。发散:端口接口由 TDD 驱动、适配器实现由集成测试守护——领域内层用快单测、触及外部资源的外层用慢集成测,两类测试分构建阶段才不会拖慢日常反馈。
参考来源
- 位置:《解构领域驱动设计》第20章 20.3.5(源文件:_epub-src/OEBPS/033.xhtml)
- 结论依据:原文说明先实现并集成测试南向适配器再实现应用服务,并把单测与集成测试分构建阶段。
- 原始内容:由于应用服务通过集成测试进行验证,因此需要先实现访问外部资源的南向网关适配器……需要将单元测试和集成测试分为两个不同的构建阶段。