哪些测试工具和方法支持12因子应用程序

时间:2019-07-10 10:50:22

标签: testing integration-testing microservices acceptance-testing 12factor

要在我的(Java)微服务开发中关注the 12 factor app,我想构建我的测试基础架构

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

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


详细信息:

要获得有效的微服务,我想关注12个因素的应用程序。为了找到尽可能多的错误,我想要一个对12要素微服务有效的测试工具-我的不是。

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

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

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

不幸的是,他们都没有提供有关12因子应用程序的建议-甚至都没有提及。因此,有关支持12因子应用程序的测试方法的任何建议都将受到赞赏!

1 个答案:

答案 0 :(得分:0)

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

在中间,您应该设计测试以检查合同定义的完整服务功能,方法是模拟,模拟其使用的服务并在其提供的接口上调用它。为此,您需要一个像springunit,cdi-unit,ioc-unit或arquillian之类的框架。

仅测试服务的单个(或几个)类并模拟其余部分,将过多的代码内部信息暴露给testcode,这将阻止重构,并且还经常导致测试只是在某种程度上复制了业务逻辑,因此它们实际上并没有测试功能。

相关问题