如何分发空手道测试框架?
How to distribute Karate testing framework?
问题陈述:每个服务都有一个单独的存储库。跨多个服务存储库使用通用框架的最佳方式是什么?
我们正在尝试使用 "Karate" 创建一个 API 测试自动化框架。
在这里,我们要创建一个框架(可以分发(示例:jar)),以便它可以在所有微服务项目存储库中使用。
作为空手道的创造者,我强烈建议您不要这样做。从长远来看,这会使您的所有项目都依赖于一个通用框架——您应该尽量减少“本土”框架的创建。特别是对于测试框架,你应该尽量不要强迫团队依赖你需要维护和版本控制的额外库。重复使用弊大于利,尤其是在测试环境中,请参阅 this article at the Google Testing Blog。
也就是说,由于空手道可以 read files from the classpath:
you can "ship" a JAR file with common Java classes and even feature or JS files that all your projects can inherit from or "re use". In fact the karate-base.js
旨在解决从 JAR 文件提供的常见 bootstrap 逻辑或变量/参数。
简答:使用正常的 Java 技术(Maven / Gradle)创建可重复使用的 JAR 文件。有多种方法可以使用 JAR 文件中的资源(Java、*.feature
、JS)。如何构建 Maven(或 Gradle)项目来实现这一点取决于您。
编辑:对于那些寻找如何创建“可运行”JAR 的人,请参阅
问题陈述:每个服务都有一个单独的存储库。跨多个服务存储库使用通用框架的最佳方式是什么?
我们正在尝试使用 "Karate" 创建一个 API 测试自动化框架。 在这里,我们要创建一个框架(可以分发(示例:jar)),以便它可以在所有微服务项目存储库中使用。
作为空手道的创造者,我强烈建议您不要这样做。从长远来看,这会使您的所有项目都依赖于一个通用框架——您应该尽量减少“本土”框架的创建。特别是对于测试框架,你应该尽量不要强迫团队依赖你需要维护和版本控制的额外库。重复使用弊大于利,尤其是在测试环境中,请参阅 this article at the Google Testing Blog。
也就是说,由于空手道可以 read files from the classpath:
you can "ship" a JAR file with common Java classes and even feature or JS files that all your projects can inherit from or "re use". In fact the karate-base.js
旨在解决从 JAR 文件提供的常见 bootstrap 逻辑或变量/参数。
简答:使用正常的 Java 技术(Maven / Gradle)创建可重复使用的 JAR 文件。有多种方法可以使用 JAR 文件中的资源(Java、*.feature
、JS)。如何构建 Maven(或 Gradle)项目来实现这一点取决于您。
编辑:对于那些寻找如何创建“可运行”JAR 的人,请参阅