如何在 WireMock 中使一个请求文件先于另一个文件执行?
How to make a request file to be executed before another in WireMock?
我有 2 个 json 个文件用于发送请求:
第一个:
"request": {
"method": "GET",
"urlPathPattern": "my/url/([url0-9/-]{13})",
"queryParameters": {
"type": {
"equalTo": "xxx"
}
}
}
第二个:
"request": {
"method": "GET",
"urlPathPattern": "/my/url/ID12345678",
"queryParameters": {
"type": {
"equalTo": "xxx"
}
}
}
我的案例是第二个文件,但第一个带有正则表达式的文件总是在之前执行,所以我的案例无法得到预期的响应。我怎样才能让第二个在第一个之前执行,这样当我发送某个 ID 时它就会有我想要的响应?
根据您的具体用例,您可以使用 Scenarios or Priority。做一些假设,我相信Priority会轻松做到这一点。
第一个
{
"priority": 5,
"request": {
"method": "GET",
"urlPathPattern": "my/url/([url0-9/-]{13})",
"queryParameters": {
"type": {
"equalTo": "xxx"
}
}
}
}
第二
{
"priority": 1,
"request": {
"method": "GET",
"urlPathPattern": "/my/url/ID12345678",
"queryParameters": {
"type": {
"equalTo": "xxx"
}
}
}
}
Priority 告诉 WireMock 在其他人之前检查某些 stubs/mappings。因此,在这种情况下,WireMock 将在第一个存根之前检查第二个存根,因为它具有更高的优先级(较低的数字 === 较高的优先级)。您也可以省略为第一个映射添加优先级,因为默认优先级为 5。
我有 2 个 json 个文件用于发送请求:
第一个:
"request": {
"method": "GET",
"urlPathPattern": "my/url/([url0-9/-]{13})",
"queryParameters": {
"type": {
"equalTo": "xxx"
}
}
}
第二个:
"request": {
"method": "GET",
"urlPathPattern": "/my/url/ID12345678",
"queryParameters": {
"type": {
"equalTo": "xxx"
}
}
}
我的案例是第二个文件,但第一个带有正则表达式的文件总是在之前执行,所以我的案例无法得到预期的响应。我怎样才能让第二个在第一个之前执行,这样当我发送某个 ID 时它就会有我想要的响应?
根据您的具体用例,您可以使用 Scenarios or Priority。做一些假设,我相信Priority会轻松做到这一点。
第一个
{
"priority": 5,
"request": {
"method": "GET",
"urlPathPattern": "my/url/([url0-9/-]{13})",
"queryParameters": {
"type": {
"equalTo": "xxx"
}
}
}
}
第二
{
"priority": 1,
"request": {
"method": "GET",
"urlPathPattern": "/my/url/ID12345678",
"queryParameters": {
"type": {
"equalTo": "xxx"
}
}
}
}
Priority 告诉 WireMock 在其他人之前检查某些 stubs/mappings。因此,在这种情况下,WireMock 将在第一个存根之前检查第二个存根,因为它具有更高的优先级(较低的数字 === 较高的优先级)。您也可以省略为第一个映射添加优先级,因为默认优先级为 5。