为了在我的 (Java) 微服务开发中遵循12 要素应用程序,我想构建我的测试基础架构以
- 符合 12 因素应用程序
- 测试/将被测系统推向 12 因子应用程序。
什么是好的测试工具(工具和方法)?
细节:
为了拥有有效的微服务,我想遵循 12 要素应用程序。为了找到尽可能多的错误,我想要一个对 12 因素微服务有效的测试工具——我的不是。
例如,当我开发微服务时,我经常会引入单元测试未捕获的错误——无法捕获,因为它们不是发生在本地逻辑中,而是发生在管道中,即只有在将许多部分(Java 代码、Javascript代码、Helm 图表、Docker 文件、环境变量)。因此,我想加强我的粗粒度测试(集成、组件和验收/端到端测试),这导致我提出与 12 因素应用程序相关的多个问题,例如
- 我应该有更多直接在生产环境中运行的粗粒度测试吗?
- 我可以在我的集成和组件测试中模拟哪些部分而不破坏开发/产品奇偶校验?
- 如何测试我的被测系统是否遵循 12 因素应用程序?
我找到了很多用于测试(Java)微服务的工具和材料,例如
- 《测试 Java 微服务》一书
- https://martinfowler.com/articles/microservice-testing/
- 如何为主要面向服务的应用程序编写有用的单元测试?
- http://arquillian.org/
- https://github.com/SpectoLabs/hoverfly-java
- https://github.com/rest-assured/rest-assured
- https://github.com/DiUS/pact-jvm
- https://www.testcontainers.org/
不幸的是,他们都没有就 12 factor 应用程序提供建议——甚至都没有提到。因此,任何有关支持 12 因素应用程序的测试方法的建议都值得赞赏!