Karate 如何分发空手道测试框架?

Karate 如何分发空手道测试框架?,karate,intuit,Karate,Intuit,问题陈述:每个服务都有一个单独的存储库。跨多个服务存储库使用公共框架的最佳方式是什么 我们正在尝试使用“空手道”创建一个API测试自动化框架。 在这里,我们希望创建一个框架(可以分发(例如:jar)),这样它就可以在所有的microservice项目存储库中使用。作为空手道的创建者,我强烈建议您不要这样做。从长远来看,这使得您的所有项目都依赖于一个通用框架——您应该尽量减少创建“自产”框架。特别是对于测试框架,您应该尽量不要强迫团队依赖于需要维护和版本控制的附加库。重复使用可能弊大于利,尤其是在

问题陈述:每个服务都有一个单独的存储库。跨多个服务存储库使用公共框架的最佳方式是什么

我们正在尝试使用“空手道”创建一个API测试自动化框架。
在这里,我们希望创建一个框架(可以分发(例如:jar)),这样它就可以在所有的microservice项目存储库中使用。

作为空手道的创建者,我强烈建议您不要这样做。从长远来看,这使得您的所有项目都依赖于一个通用框架——您应该尽量减少创建“自产”框架。特别是对于测试框架,您应该尽量不要强迫团队依赖于需要维护和版本控制的附加库。重复使用可能弊大于利,尤其是在测试环境中,请参阅

也就是说,既然空手道可以,您就可以“发送”一个JAR文件,其中包含公共Java类,甚至是所有项目都可以继承或“重用”的feature或JS文件。事实上,设计的目的是为了解决从JAR文件提供的公共引导逻辑或变量/参数

简短回答:使用普通Java技术(Maven/Gradle)创建一个可重用的JAR文件。有多种方法可以使用JAR文件中的资源(Java,
*.feature
,JS)。如何构建Maven(或Gradle)项目以实现这一目标,取决于您


编辑:对于那些寻找如何创建“可运行”JAR的人,请参见

谢谢你对我的问题的宝贵评论。我能够在功能文件中使用java类和java函数,但我不知道如何调用/使用功能文件中javascript文件(来自jar文件)中定义的函数?以及如何使用属性文件或任何其他文件。@tejeshkumarreddynagireddy如果需要,可以用一个具体的例子问另一个问题1)在空手道中,你总是通过一个功能文件使用JS:2)在空手道
karate config.JS
替换所有混乱的属性文件: