0

为了在我的 (Java) 微服务​​开发中遵循12 要素应用程序,我想构建我的测试基础架构以

  1. 符合 12 因素应用程序
  2. 测试/将被测系统推向 12 因子应用程序。

什么是好的测试工具(工具和方法)?


细节:

为了拥有有效的微服务,我想遵循 12 要素应用程序。为了找到尽可能多的错误,我想要一个对 1​​2 因素微服务有效的测试工具——我的不是。

例如,当我开发微服务时,我经常会引入单元测试未捕获的错误——无法捕获,因为它们不是发生在本地逻辑中,而是发生在管道中,即只有在将许多部分(Java 代码、Javascript代码、Helm 图表、Docker 文件、环境变量)。因此,我想加强我的粗粒度测试(集成、组件和验收/端到端测试),这导致我提出与 12 因素应用程序相关的多个问题,例如

  1. 我应该有更多直接在生产环境中运行的粗粒度测试吗?
  2. 我可以在我的集成和组件测试中模拟哪些部分而不破坏开发/产品奇偶校验
  3. 如何测试我的被测系统是否遵循 12 因素应用程序?

我找到了很多用于测试(Java)微服务的工具和材料,例如

不幸的是,他们都没有就 12 factor 应用程序提供建议——甚至都没有提到。因此,任何有关支持 12 因素应用程序的测试方法的建议都值得赞赏!

4

1 回答 1

1

以我的经验,问题在于单元测试和集成测试之间的“糟糕”差异。

中间有,恕我直言,您应该设计测试来检查合同定义的完整服务功能,通过模拟、模拟它使用的服务并在它提供的接口上调用它。为此,您需要一个像 springunit、cdi-unit、ioc-unit 或 arquillian 这样的框架。

仅测试服务的单个(或几个)类并模拟其余类会将太多的代码内部暴露给测试代码,这会阻止重构,并且通常会导致测试只是在某种程度上复制业务逻辑,因此它们并没有真正测试功能.

于 2019-07-20T22:38:10.337 回答