我需要在 MockRestServiceServer 的实例上配置多个期望。期望是两个不同的 URL:
- 调用 URL #1
- 调用 URL #1(第二次)
- 调用 URL #2
同一 URL 被调用两次,然后使用不同的请求参数对同一 URL 进行第三次调用。
我有一个负载平衡的 RestTemplate 实例可用于注入到我的测试中,并将其传递给 MockRestServiceServer.createServer()。
我尝试将这 3 个期望内联到我的 MockRestServiceServer 实例中,但测试失败,声称需要第三个 URL,但它看到了第一个 URL。看起来我要么覆盖了期望,要么这里共享了一些有状态的东西,使模拟服务器保持在错误的状态。
谁能向我展示如何正确执行此操作的示例?
如果有人无法理解@alex.b回复
// Create a mock server with UnorderedRequestExpectationManager
MockRestServiceServer mockServer = MockRestServiceServer.bindTo(restTemplate).build(new UnorderedRequestExpectationManager());
// Add multiple rest url
mockServer.expect(ExpectedCount.once(),
requestTo(URL1))
.andExpect(method(HttpMethod.GET))
.andRespond(withStatus(HttpStatus.OK)
.contentType(MediaType.APPLICATION_JSON)
.body(result1));
mockServer.expect(ExpectedCount.once(),
requestTo(URL2))
.andExpect(method(HttpMethod.GET))
.andRespond(withStatus(HttpStatus.OK)
.contentType(MediaType.APPLICATION_JSON)
.body(result2));
// Add as much as you want
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)