提问者:小点点

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


我正在使用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响应有不同的意见(有些人这么说,其他没有)请不要解决它,但只有真正的问题:-)


共2个答案

匿名用户

这个问题在这里得到了解决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\"" )
} }

这对我有用。