总结
在本章中,我们学习了如何应用 SOLID 原则来完全解耦外部系统,从而形成一种称为 六边形架构 的应用程序架构。我们看到了这如何使我们能够使用测试替身(test doubles)代替外部系统,从而使我们的测试更易于编写,并且具有可重复的结果。这反过来使我们能够使用 FIRST 单元测试来测试整个用户故事。作为额外的优势,我们将自己与这些外部系统的未来变化隔离开来,从而减少支持新技术所需的返工量。我们已经看到,六边形架构与依赖注入相结合,如何使我们能够支持多种不同的外部系统选择,并通过配置在运行时选择我们想要的系统。
下一章将探讨适用于六边形架构应用程序不同部分的自动化测试的不同风格。这种方法被总结为 测试金字塔,我们将在那里进一步了解它。