1

我想在一个单独的 json 文件中为我的合同指定响应正文,其中一个返回的字段包含一个生成的数据库 ID,每次运行单元测试时它都不同。我的想法是使用正则表达式来确保该字段存在并且该值是一个数字,但我没有找到一种方法,因此生成的合同测试会进行正则表达式匹配。

这是我对 Json 可能是什么样子的想法

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

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

4

1 回答 1

1

不,文件中没有这样的方法。你应该做的是使用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())) }.

于 2017-12-21T14:05:04.060 回答