Java wiremock中请求正文的多个匹配项
最近在wiremock()中学习到的请求匹配。想知道当一个请求的主体匹配多个映射时会发生什么情况(定义为具有不同条件的同一url路径并返回不同的json响应)?从技术上讲,WireMock不会匹配两次——一旦找到单一匹配,它将返回该匹配。根据我自己使用单独的映射文件进行的测试,这通常是最近添加的映射(我不知道如何以编程方式创建存根,但我猜最近添加的存根将被匹配并返回) 为了避免这种歧义,您可以使用一些策略,但我个人最喜欢的是使用Java wiremock中请求正文的多个匹配项,java,spring,dropwizard,wiremock,Java,Spring,Dropwizard,Wiremock,最近在wiremock()中学习到的请求匹配。想知道当一个请求的主体匹配多个映射时会发生什么情况(定义为具有不同条件的同一url路径并返回不同的json响应)?从技术上讲,WireMock不会匹配两次——一旦找到单一匹配,它将返回该匹配。根据我自己使用单独的映射文件进行的测试,这通常是最近添加的映射(我不知道如何以编程方式创建存根,但我猜最近添加的存根将被匹配并返回) 为了避免这种歧义,您可以使用一些策略,但我个人最喜欢的是使用优先级字段以及特定和常规映射 { "priority&
优先级
字段以及特定和常规映射
{
"priority": 1,
"request": {
"url": "/test",
"queryParameters": {
"search_term": {
"equalTo": "WireMock"
}
}
},
"response": {
"status": 201
}
}
关于优先级的更多信息
我还想挑战的是,不应该有两个特定的映射都是匹配的——匹配器应该有足够的差异来分隔这两个映射。如果您确实需要两个相同的匹配项,以便模拟数据更改或其他工作流
{
"priority": 10,
"request": {
"url": "/test",
"queryParameters": {
"search_term": {
"matches": "*"
}
}
},
"response": {
"status": 204
}
}