春云合约 - 如何测试简单的字符串响应?



我正在使用Spring Cloud Contract框架进行REST服务集成测试和相关客户端应用程序合同。它适用于对象 JSON 请求/响应,但是否有机会检查简单的字符串。特别是,响应布尔值的服务(响应正文中的真或假(?

时髦定义的一部分:

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;

这是一个错误,不是吗?还是我应该在时髦的定义中做得更好?第一行给了生成器理解我想要什么的机会,但第二行完全消失了。感谢您的任何提示。

附言我知道关于只有字符串"真实"有效性作为 JSON 响应有不同的意见(有些人这么说,有些人不这么说(请不要解决它,而只是真正的问题:-(

这个问题在这里得到了修复 https://github.com/spring-cloud/spring-cloud-contract/issues/443。随着新版本(Dalston.SR5和Edgware的推出(,这将不再是问题。

org.springframework.cloud.contract.spec.Contract.make { 请求 { 方法 'GET' urlPath ('url'(

body([
'json-string'
])
headers {
header('Content-Type', 'application/json;charset=UTF-8')
}
}
response {
status 200
body( ""true"" )
} }

这对我有用。

最新更新