Junit 如何将MockRestServiceServer与多个URL一起使用?

Junit 如何将MockRestServiceServer与多个URL一起使用?,junit,mocking,spring-test,mockserver,Junit,Mocking,Spring Test,Mockserver,我需要在MockRestServiceServer实例上配置多个期望。期望的是两个不同的URL: 调用URL#1 调用URL#1(第二次) 调用URL#2 调用同一URL两次,然后使用不同的请求参数对同一URL进行第三次调用 我有一个负载平衡的RestTemplate实例可注入到测试中,并将其传递给MockRestServiceServer.createServer() 我尝试将这3个期望值内联到我的MockRestServiceServer实例中,但测试失败,声称第3个URL是期望值,但它看到

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

  • 调用URL#1
  • 调用URL#1(第二次)
  • 调用URL#2
  • 调用同一URL两次,然后使用不同的请求参数对同一URL进行第三次调用

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

    我尝试将这3个期望值内联到我的MockRestServiceServer实例中,但测试失败,声称第3个URL是期望值,但它看到了第1个URL。看起来我要么覆盖了期望值,要么共享了一些有状态的东西,这使得模拟服务器处于错误的状态


    有人能给我举个例子说明如何正确地做到这一点吗

    如果您在模拟服务器
    org.springframework.test.web.client.MockRestServiceServer\MockRestServiceServer
    中使用非默认的期望管理器,您的问题可以得到解决:它接受一个参数
    org.springframework.test.web.client.RequestExpectationManager

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