#rest #networking #wiremock
Вопрос:
У меня есть две проволочные заглушки, первая более подробная, а вторая более общая. У меня есть запрос на URL The GET request to url http://sky-stub:8080/abc/sky/api/orgs/b44bddb5-5f15-4aee-a8cd-496721124f61/groups/1b694fb8-69af-4c36-a861-631bb93cc67c
-адрес, который всегда попадает во второй стаббинг. Я даже использую приоритет 2 и 20, чтобы этот запрос попал в первую заглушку, но это не работает.
Первый удар:
{
"priority": 2,
"scenarioName": "Sync routes for non existing group",
"requiredScenarioState": "TheFirstGet",
"newScenarioState": "AfterFirstGetGroup",
"request": {
"urlPattern": "/abc/sky/api/orgs/(.*)/groups/1b694fb8-69af-4c36-a861-631bb93cc67c",
"method" : "GET"
},
"response": {
"status" : 200,
"bodyFileName" : "sync-routes/get-group-response.json",
"headers": {
"Content-Type": "application/json"
}
}
}
Второй удар:
{
"priority": 20,
"request": {
"urlPattern": "/abc/sky/api/orgs/(.*)/groups/(.*)",
"method" : "GET"
},
"response": {
"status" : 200,
"bodyFileName" : "group.json",
"headers": {
"Content-Type": "application/json"
}
}
}
Ответ №1:
У вас есть еще одна заглушка, которая устанавливает состояние сценария на «Первый»? По умолчанию все сценарии начинаются в состоянии сценария «Начато». Я бы подумал, что изменение requiredScenarioState
на Started
исправит вашу проблему.
Комментарии:
1. У меня есть еще одна заглушка, в которой «requiredScenarioState» — это «AfterFirstGetGroup», и я попробовал ее с вашим предложением, и она работает при первом вызове URL-адреса, она переходит к первому подразделу, указанному выше. Однако второй вызов этого URL-адреса не переходит к моему другому подразделу, он все равно переходит ко второму заглушке в списке выше.
2. Является ли второе отображение таким же
scenarioName
, как и первое? Совпадает ли второеrequiredScenarioState
сопоставлениеnewScenarioState
с первым сопоставлением? Я не думаю, что я совсем понимаю сопоставления/порядок, которые вызывают проблемы