如何使用spring模拟同一请求的多个响应';是MockRestServiceServer吗?

如何使用spring模拟同一请求的多个响应';是MockRestServiceServer吗?,spring,integration-testing,spring-test-mvc,mockrestserviceserver,Spring,Integration Testing,Spring Test Mvc,Mockrestserviceserver,Im使用MockRestServiceServer模拟http响应。在特定场景中,我调用端点两次,第二次需要不同的响应 但当我写下第二个期望时,它就像覆盖了我的第一个期望 一个人如何为同一个请求编写多个响应?经过研究,我发现: 在实例化MockRestServiceServer时,默认情况下它会获得无序的RequestExpectationManager。通过SimpleRequestExpectationManager中的构建器更改此选项,可以添加对按定义顺序添加多个响应的支持 private

Im使用MockRestServiceServer模拟http响应。在特定场景中,我调用端点两次,第二次需要不同的响应

但当我写下第二个期望时,它就像覆盖了我的第一个期望


一个人如何为同一个请求编写多个响应?

经过研究,我发现:

在实例化MockRestServiceServer时,默认情况下它会获得无序的RequestExpectationManager。通过SimpleRequestExpectationManager中的构建器更改此选项,可以添加对按定义顺序添加多个响应的支持

private MockRestServiceServer createMockServerBy(Class<? extends 
RestTemplate> requiredType) {
    RestTemplate template = context.getBean(requiredType);
    return MockRestServiceServer.bindTo(template).build(new 
    SimpleRequestExpectationManager());
}

private MockRestServiceServer createMockServerBy(Class你试过WireMock吗?它很神奇,为mock API提供了很多功能。看看我发现
SimpleRequestExpectationManager
是默认值,除非我在
bindTo()之后调用
ignoreExpectOrder(true)