我如何测试使用空手道以 AVRO 格式给出响应的其余端点?
How can i test the rest endpoints which gives response in AVRO format using karate?
空手道对验证我们提供 json 响应的其余 API 非常有帮助。现在我们有了 api,它以 avro 格式提供响应。可能还需要以 avro 格式发送有效载荷。我如何测试使用空手道以 AVRO 格式给出响应的其余端点?有什么简单的方法可以调整并完成它。谢谢!
这是我的建议,在我看来这会很有效。
编写一个简单的 Java 实用程序,也许是一个静态方法,可以将 JSON 转换为 AVRO,反之亦然。
现在您可以将所有请求数据定义为 JSON - 但在您向服务器发出请求之前,将其转换为 AVRO。我不确定服务器调用是否为 HTTP。如果它是 HTTP - 那么你知道在 Karate 中该做什么,只需发送二进制文件作为请求主体等。
否则你甚至可能不会像 method
、request
等那样使用空手道 HTTP DSL。你必须再写一个 Java 帮助器,它将带走你的 JSON (或 AVRO)并调用服务器(特定于您的项目)和 return 响应,转换回 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%。
空手道对验证我们提供 json 响应的其余 API 非常有帮助。现在我们有了 api,它以 avro 格式提供响应。可能还需要以 avro 格式发送有效载荷。我如何测试使用空手道以 AVRO 格式给出响应的其余端点?有什么简单的方法可以调整并完成它。谢谢!
这是我的建议,在我看来这会很有效。
编写一个简单的 Java 实用程序,也许是一个静态方法,可以将 JSON 转换为 AVRO,反之亦然。
现在您可以将所有请求数据定义为 JSON - 但在您向服务器发出请求之前,将其转换为 AVRO。我不确定服务器调用是否为 HTTP。如果它是 HTTP - 那么你知道在 Karate 中该做什么,只需发送二进制文件作为请求主体等。
否则你甚至可能不会像 method
、request
等那样使用空手道 HTTP DSL。你必须再写一个 Java 帮助器,它将带走你的 JSON (或 AVRO)并调用服务器(特定于您的项目)和 return 响应,转换回 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%。