json文件中的正则表达式作为响应主体提供

时间:2017-12-21 13:42:46

标签: spring-cloud-contract

我想在单独的json文件中指定合同的响应主体,其中一个返回的字段包含生成的database-id,每次运行Unit测试时都会有所不同。 我的想法是使用正则表达式来确保该字段存在且值是一个数字,但我没有找到方法所以生成的合同测试进行正则表达式匹配。

这是我对Json看起来像什么的想法

{
  "id" : "${regex(number())}"
}

在定义合约时,有没有办法(语法)在json文件中提供正则表达式?

1 个答案:

答案 0 :(得分:0)

不,在文件中没有这样的方法。您应该使用stubMatcherstestMatchers部分(http://cloud.spring.io/spring-cloud-static/Edgware.RELEASE/multi/multi__contract_dsl.html#_dynamic_properties_in_the_matchers_sections)。然后你定义这样的:request { ... stubMatchers { jsonPath('$.id', byRegex(regex(number())) }