Karate 空手道专用语言扩展

Karate 空手道专用语言扩展,karate,Karate,鉴于空手道被归类为纯Java框架,我们是否可以拥有特定于语言的扩展,以便这些测试可以在需要的地方与应用程序代码一起进行 类似于公约框架 问候 Bheem在我看来,你的问题中有一些错误的概念,因此我将尝试解决这些问题并给出答案 空手道被归类为纯Java框架 空手道确实是用Java实现的,但是您可以用语言无关的语法(Gherkin)编写测试,并且您通常使用纯JSON的请求和响应有效负载。对于测试web服务的业务来说,语言实际上根本不重要——只要你说HTTP和JSON——这不是web服务的全部意义所在

鉴于空手道被归类为纯Java框架,我们是否可以拥有特定于语言的扩展,以便这些测试可以在需要的地方与应用程序代码一起进行

类似于公约框架

问候 Bheem

在我看来,你的问题中有一些错误的概念,因此我将尝试解决这些问题并给出答案

空手道被归类为纯Java框架

空手道确实是用Java实现的,但是您可以用语言无关的语法(Gherkin)编写测试,并且您通常使用纯JSON的请求和响应有效负载。对于测试web服务的业务来说,语言实际上根本不重要——只要你说HTTP和JSON——这不是web服务的全部意义所在

我们可以有特定语言的扩展吗

为了补充我上面提到的要点,您实际上不需要任何特定于语言的扩展。事实上,许多.NET、Python和JS团队都在使用Karate,因为您所需要的只是JRE(甚至不是JDK),它允许您运行测试,甚至生成与CI兼容的报告。有关可以尝试(几分钟后)跨平台运行的演示项目的示例,请查看以下内容:

测试可以和应用程序代码放在一起

是的,空手道测试是纯文本的,你可以把它们和你的应用服务器代码一起签入,很多团队都这样做。是的,如果它是一个Java Maven或Gradle项目——集成到构建或CI作业中会稍微简单一些——但这正是独立CLI开始大放异彩的地方

类似于公约框架

你的意思是你想简单地实现消费者驱动的契约测试?看看这个项目:-在我看来,这证明了空手道如何使CDC比Pact更优雅、更简单(免责声明,我是空手道的开发者)。值得重复的是,空手道是纯文本、语言中立的,可以通过跨平台CLI运行,该CLI生成与所有CI工具兼容的报告(JUnit XML)。跨团队共享测试(或者如果你想称之为契约),最好通过Git完成,而无需重新发明协作、并发开发和版本控制的轮子