如何使用wiremock更改GET方法中的状态

时间:2018-03-25 10:48:23

标签: mocking stubbing wiremock

我有点不明白。如何在我的GET方法中改变状态?我明白,需要使用scenatios,但我的代码不起作用。始终状态=状态一。 (我正在使用json)

我有一种方法GET,我想再次检查后再改变状态。 例如(三个json文件 - 三个状态 - 一个GET方法):

第一种情况

{
"scenarioName": "check status event",
"requiredScenarioState": "Started",
"request": {
"method": "GET",
"urlPathPattern": "/cashboxes/[0-9]+/registration/[0-9]+"
},

"response": {
"status": 200,
"jsonBody": {
"status": "status one",
},
"headers": {
"Content-Type": "application/json"
}
}
}

第二种情况

"scenarioName": "check status event",
"requiredScenarioState": "Started",
"newScenarioState": "status two",
"request": {
"method": "GET",
"urlPathPattern": "/cashboxes/[0-9]+/registration/[0-9]+"
},

"response": {
"status": 200,
"jsonBody": {
"status": "status two",
},
"headers": {
"Content-Type": "application/json"
}
}
}

第三种情况

"scenarioName": "check status event",
"requiredScenarioState": "status two",
"newScenarioState": "status three",
"request": {
"method": "GET",
"urlPathPattern": "/cashboxes/[0-9]+/registration/[0-9]+"
},

"response": {
"status": 200,
"jsonBody": {
"status": "status three",
},
"headers": {
"Content-Type": "application/json"
}
}
}

或者我可以在一次方法中使用一些延迟来改变状态吗?

1 个答案:

答案 0 :(得分:0)

你也需要第一个存根上的newScenarioState元素,否则你永远不会离开Started状态。

newScenarioState是场景匹配时场景将转换的状态。