空手道对于验证我们的休息api非常有帮助,这会给出json的反应 . 现在我们有apis,它以avro格式给我们回复 . 可能还需要以avro格式发送有效载荷 . 我如何测试使用空手道以AVRO格式提供响应的其余 endpoints ?有没有简单的方法可以调整并完成它 . 谢谢!
这是我的建议,在我看来这将非常有效 .
编写一个简单的Java实用程序,可能是一个静态方法,可以使用JSON并将其转换为AVRO,反之亦然 .
现在,您可以将所有请求数据定义为JSON - 但在您向服务器发出请求之前,请将其转换为AVRO . 我不确定服务器调用是否是HTTP . 如果它是HTTP - 那么你知道在空手道中做什么,只需要发送二进制作为请求体等 .
否则你甚至可能不会使用像 method , request 等空手道HTTP DSL . 你必须再写一个Java助手,它将带你的JSON(或AVRO)并调用服务器(特定于你的项目)并返回响应,转换回JSON . 例如:
method
request
* 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 }
是的,您可能主要使用空手道进行匹配,报告,环境等 . 这仍然很有 Value !很多人都没有意识到HTTP只是空手道可以为你做的10% .
1 回答
这是我的建议,在我看来这将非常有效 .
编写一个简单的Java实用程序,可能是一个静态方法,可以使用JSON并将其转换为AVRO,反之亦然 .
现在,您可以将所有请求数据定义为JSON - 但在您向服务器发出请求之前,请将其转换为AVRO . 我不确定服务器调用是否是HTTP . 如果它是HTTP - 那么你知道在空手道中做什么,只需要发送二进制作为请求体等 .
否则你甚至可能不会使用像
method
,request
等空手道HTTP DSL . 你必须再写一个Java助手,它将带你的JSON(或AVRO)并调用服务器(特定于你的项目)并返回响应,转换回JSON . 例如:是的,您可能主要使用空手道进行匹配,报告,环境等 . 这仍然很有 Value !很多人都没有意识到HTTP只是空手道可以为你做的10% .