0

我正在尝试定义一个存根:

{
   "predicates":[
      {
         "equals":{
            "method":"GET",
            "path":"/sword/eBISXMLInvoice2.do",
            "query": {
              "action": "index",
              "page": 3 <-- this one!
            }
         }
      }
   ],
   "responses":[
      {
         "is":{
            "statusCode":200,
            "headers":{
               "Content-Type":"application/xml"
            },
            "body":"<doclist><document uuid='101654' type='invoice' date='2018-11-14 13:49:43' /></doclist>"
         }
      }
   ]
}

预期的查询字符串参数之一(称为“页面”)可以有多个值。如何定义谓词来处理这个问题?

4

1 回答 1

0

我的问题其实很容易回答。根据文档,如果任何值匹配,则“等于”谓词将匹配

全文:

有时您可能会遇到多值键。例如,具有重复键的查询字符串和 HTTP 标头就是这种情况?key=first&key=second。在这些情况下,deepEquals 将要求所有值(以任何顺序)匹配。如果任何值匹配,则所有其他谓词都将匹配,因此等于谓词将与上second例中的值匹配。

所以我可以从谓词中删除可更改的查询字符串值,或者我可以将它保留在那里,没关系。

  {
     "equals":{
        "method":"GET",
        "path":"/sword/eBISXMLInvoice2.do",
        "query": {
          "action": "index"
        }
     }
  }
于 2018-12-07T16:56:03.423 回答