4

我需要在 MockRestServiceServer 的实例上配置多个期望。期望是针对两个不同的 URL:

  1. 调用 URL #1
  2. 调用 URL #1(第二次)
  3. 调用 URL #2

相同的 URL 被调用两次,然后对具有不同请求参数的相同 URL 进行第三次调用。

我有一个负载平衡的 RestTemplate 实例可以注入到我的测试中,我将它传递给 MockRestServiceServer.createServer()。

我试图将这 3 个期望内联到我的 MockRestServiceServer 实例,但测试失败,声称第 3 个 URL 是预期的,但它看到了第 1 个。似乎我要么覆盖了期望,要么这里共享了一些有状态的东西,这使模拟服务器保持在错误的状态。

谁能告诉我如何正确执行此操作的示例?

4

1 回答 1

0

如果您在 Mock Server 中使用不默认的期望管理器,您的问题可以解决org.springframework.test.web.client.MockRestServiceServer#MockRestServiceServer:它接受org.springframework.test.web.client.RequestExpectationManager.

您可以传递这种类型:org.springframework.test.web.client.UnorderedRequestExpectationManager

于 2017-11-16T10:31:00.143 回答