我正在使用Spring云合同框架进行REST服务集成测试和相关的客户端应用程序合同。它适用于对象JSON请求/响应,但是是否有机会检查简单的字符串。特别是,响应布尔值的服务(响应体中的真或假)?
groovy定义的一部分:
response {
status 200
headers {
header('Content-Type', 'application/json;charset=UTF-8')
}
body(
value(client('true'), server(regex("true|false")))
)
}
生成测试的相关部分:
String responseBody = response.getBody().asString();
null;
这是一个bug,不是吗?或者我应该在时髦的定义中做得更好?第一行给了生成器理解我想要什么的机会,但是第二行完全用完了。谢谢任何提示。
附言:我知道对于只有字符串“true”有效性作为JSON响应有不同的意见(有些人这么说,其他没有)请不要解决它,但只有真正的问题:-)
这个问题在这里得到了解决https://github.com/spring-cloud/spring-cloud-contract/issues/443。随着新版本的发布(Dalston. SR5和Edgware前进),这将不再是一个问题。
org.springframework.cloud的方法'GET'urlPath('url')
body([
'json-string'
])
headers {
header('Content-Type', 'application/json;charset=UTF-8')
}
}
response {
status 200
body( "\"true\"" )
} }
这对我有用。