我想在单独的json文件中指定合同的响应主体,其中一个返回的字段包含生成的database-id,每次运行Unit测试时都会有所不同。 我的想法是使用正则表达式来确保该字段存在且值是一个数字,但我没有找到方法所以生成的合同测试进行正则表达式匹配。
这是我对Json看起来像什么的想法
{
"id" : "${regex(number())}"
}
在定义合约时,有没有办法(语法)在json文件中提供正则表达式?
答案 0 :(得分:0)
不,在文件中没有这样的方法。您应该使用stubMatchers
和testMatchers
部分(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())) }
。