这是我的wiremock存根映射:
{
"request": {
"method": "POST",
"urlPattern": "/api/myApp"
},
"response": {
"headers": {
"Content-Type": "application/json"
},
"status": 200
}
}
所以当客户端执行http请求url模式=/api/myApp然后WireMock返回成功http status = 200.
好了。它工作得很好。
但是我需要当客户端使用相同的url模式执行第二个请求时,WireMock必须返回这个存根响应:
{
"request": {
"method": "POST",
"urlPattern": "/api/myApp"
},
"response": {
"headers": {
"Content-Type": "application/json"
},
"status": 401
}
}
:
首次请求->存根响应200
第二个相同的请求->存根响应401
是否可以使用WireMock ?
如果您总是要有第一次调用成功而第二次调用不成功的模式,您可以使用场景来实现这一点。
{
"scenarioName": "My Scenario",
"requiredScenarioState": "Started",
"newScenarioState": "Triggered Once",
"request": {}
"response": {
"status": 200
}
}
{
"scenarioName": "My Scenario",
"requiredScenarioState": "Triggered Once",
"newScenarioState": "Started",
"request": {}
"response": {
"status": 401
}
}
scenarioName
是您想要命名场景的任何字符串requiredScenarioState
是这个场景的状态。所有场景都以"已启动"状态开始。newScenarioState
为任意字符串,表示新的场景状态。
在上面,它总是在成功的200个呼叫和不成功的401个呼叫之间交替。
有关WireMock中有状态行为的更多信息,请查看文档