如何将groovyx.net.http.HttpResponseDecorator强制转换为用户定义的类

时间:2018-09-17 11:42:58

标签: groovy spock

我正在使用EC2编写集成测试类,而我的回复则保存在Spock Framework

我正在尝试强制进入我自己的班级,让我们说出groovyx.net.http.HttpResponseDecorator,请执行以下步骤

TestEntity

这里Path方法返回HttpResponseDecorator response = getRestClient().delete([path: "$BASE_URL"+"/96023"]) ,现在我想获取该实体并编写断言

TestEntity

我写此语句时得到TestEntity entity = (TestEntity)response.getData()

1 个答案:

答案 0 :(得分:0)

getData()返回什么类取决于哪种内容类型返回您正在调用的REST API。

添加此行以检查您所用的类是Groovy:

println response.data.getClass()

...或在IDE中使用debug来获取相同的信息。

例如,内容类型:

  • 使用了application/jsonorg.apache.groovy.json.internal.LazyMap
  • 使用了application/xmlgroovy.util.slurpersupport.NodeChild
  • 使用了text/plainjava.io.StringReader

如果您要测试使用TestEntity类作为响应的后端(例如,在Spring中使用@RestController@RequestMapping),则您将没有TestEntity实例客户(Spock测试)。