问题陈述:每个服务都有一个单独的存储库。在多个服务存储库中使用通用框架的最佳方法是什么?
我们正在尝试使用“空手道”创建一个API测试自动化框架。 在这里,我们要创建一个框架(可以分发(例如:jar)),以便可以在所有微服务项目存储库中使用。
答案 0 :(得分:2)
作为空手道的创造者,我强烈建议您不要这样做。从长远来看,这将使您的所有项目都依赖于一个通用框架-并且您应尝试减少创建“本地”框架。特别是对于测试框架,您应尽量避免强迫团队依赖于您需要维护和版本控制的其他库。
也就是说,由于空手道可以read files from the classpath:
,因此您可以使用通用Java类甚至所有项目都可以继承或“重用”的功能或JS文件“运送”一个JAR文件。实际上,karate-base.js
旨在解决常见的自举逻辑或JAR文件提供的变量/参数。
简短答案:使用常规Java技术(Maven / Gradle)创建可重复使用的JAR文件。使用JAR文件中的资源(Java,*.feature
,JS)有多种方法。如何构造Maven(或Gradle)项目来实现这一目标,取决于您。