我如何使用空手道测试以 AVRO 格式给出响应的其余端点?

2023-12-01

Karate 对于验证我们提供 json 响应的其余 api 非常有帮助。现在我们有了 api,它可以为我们提供 avro 格式的响应。可能还需要以 avro 格式发送有效负载。我如何使用空手道测试以 AVRO 格式给出响应的其余端点?有什么简单的方法可以调整并完成它吗?谢谢!


这是我的建议,我认为这会非常有效。

编写一个简单的 Java 实用程序,可能是一个静态方法,可以采用 JSON 并将其转换为 AVRO,反之亦然。

现在您可以将所有请求数据定义为 JSON - 但在向服务器发出请求之前,将其转换为 AVRO。我不确定服务器调用是否是 HTTP。如果是 HTTP - 那么您知道在空手道中该怎么做,只需发送二进制文件作为请求正文等。

否则你甚至可能不会使用 Karate HTTP DSL,例如method, request您必须再编写一个 Java 帮助程序,它将获取您的 JSON(或 AVRO)并调用服务器(特定于您的项目)并返回响应,并将其转换回 JSON。例如:

* def Utils = Java.type('com.myco.avro.Utils')
* def json = { hello: 'world' }
* def req = Utils.toAvro(json)
* def res = Utils.send(req)
# you can combine this with the above
* def response = Utils.fromAvro(res)
* match response == { success: true }

是的,您可能主要使用空手道来进行匹配、报告、环境等。这仍然很有价值!许多人没有意识到 HTTP 只是 Karate 能为您做的事情的 10%。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我如何使用空手道测试以 AVRO 格式给出响应的其余端点? 的相关文章

随机推荐