空手道的语言特定扩展

时间:2019-06-25 13:47:01

标签: karate

Given Karate被归类为Java Only Framework,我们可以具有特定于语言的扩展名,以便这些测试可以与需要的APP Code一起使用。

类似于PACT框架

问候 Bheem

1 个答案:

答案 0 :(得分:1)

(我认为)您的问题中存在一些误解,因此,我将尝试解决这些问题并提供答案。

  

Karate被归类为Java Only Framework

空手道确实在Java中实现了 ,但是您以与语言无关的语法(Gherkin)编写了测试-通常,您将请求和响应负载作为纯JSON处理。对于测试Web服务的业务,只要您说HTTP和JSON,该语言实际上根本就不重要,而且这并不是Web服务的重点。

  

我们可以使用特定语言的扩展名吗

要补充我在上面提到的观点,您实际上不需要任何特定于语言的扩展。实际上,许多.NET,Python和JS团队都在使用Karate,因为您只需要JRE(甚至JDK),而stand-alone executable则允许您运行测试,甚至生成与CI兼容的报告。有关可以在几分钟内尝试运行的演示项目的示例,请看一下:https://github.com/ptrthomas/karate-sikulix-demo

  

测试可以与APP代码一起使用

是的,空手道测试是纯文本格式,您可以在应用服务器代码旁边检入它们,许多团队都这样做。是的,如果它是一个Java Maven或Gradle项目-集成到构建或CI作业中要简单一些-但这就是独立CLI开始崭露头角的地方。

  

类似于PACT框架

您的意思是您只想简单地实施“消费者驱动的合同”测试?看一下这个项目:https://github.com/ptrthomas/payment-service-以我的拙见,它展示了Karate如何比Pact更优雅,更简单地进行CDC(免责声明,我是Karate的开发者)。值得重复的是,空手道是纯文本的,与语言无关,可以通过跨平台的CLI运行,该CLI生成与所有CI工具兼容的报告(JUnit XML)。在团队之间共享测试(或者如果您想称其为合同),最好通过Git完成,而无需重新发明协作,并发开发和版本控制的轮子。