要在我的(Java)微服务开发中关注the 12 factor app,我想构建我的测试基础架构
什么是好的测试工具(工具和方法)?
详细信息:
要获得有效的微服务,我想关注12个因素的应用程序。为了找到尽可能多的错误,我想要一个对12要素微服务有效的测试工具-我的不是。
例如,当我开发微服务时,我经常会引入那些未被单元测试捕获的错误-无法捕获,因为它们不是在本地逻辑中而是在管道中发生,即仅在将许多部分组合在一起时才会被捕获(Java代码,JavaScript代码,Helm图表,Docker文件,环境变量)。因此,我想加强我的粗粒度测试(集成,组件和验收/端到端测试),这导致我遇到与12因子应用有关的多个问题,例如
我发现了很多用于测试(Java)微服务的工具和材料,例如
不幸的是,他们都没有提供有关12因子应用程序的建议-甚至都没有提及。因此,有关支持12因子应用程序的测试方法的任何建议都将受到赞赏!
答案 0 :(得分:0)
根据我的经验,问题在于单元测试和集成测试之间的“糟糕”差异。
在中间,您应该设计测试以检查合同定义的完整服务功能,方法是模拟,模拟其使用的服务并在其提供的接口上调用它。为此,您需要一个像springunit,cdi-unit,ioc-unit或arquillian之类的框架。
仅测试服务的单个(或几个)类并模拟其余部分,将过多的代码内部信息暴露给testcode,这将阻止重构,并且还经常导致测试只是在某种程度上复制了业务逻辑,因此它们实际上并没有测试功能。