问题描述
这里是我的wiremock存根映射:
{
"request": {
"method": "POST","urlPattern": "/api/myApp"
},"response": {
"headers": {
"Content-Type": "application/json"
},"status": 200
}
}
因此,当客户端使用 url pattern = /api/myApp 执行 http 请求时,wiremock 返回成功 http status = 200。
不错。它工作正常。
但是我需要当客户端使用相同的 url 模式执行第二个请求时,wiremock 必须返回这个存根响应:
{
"request": {
"method": "POST","urlPattern": "/api/myApp"
},"response": {
"headers": {
"Content-Type": "application/json"
},"status": 401
}
}
所以:
第一个请求 -> 存根响应 200
第二个相同的请求 -> 存根响应 401
可以通过 wiremock 实现吗?
解决方法
如果您总是会遇到第一次调用成功而第二次调用不成功的模式,您可以使用 Scenarios 来实现这一点。
{
"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 次调用之间交替。
的更多信息