类 MockRestServiceServer


  • public class MockRestServiceServer
    extends Object
    Main entry point for client-side REST testing. Used for tests that involve direct or indirect use of the RestTemplate. Provides a way to set up expected requests that will be performed through the RestTemplate as well as mock responses to send back thus removing the need for an actual server.

    Below is an example that assumes static imports from MockRestRequestMatchers, MockRestResponseCreators, and ExpectedCount:

     RestTemplate restTemplate = new RestTemplate()
     MockRestServiceServer server = MockRestServiceServer.bindTo(restTemplate).build();
    
     server.expect(manyTimes(), requestTo("/hotels/42")).andExpect(method(HttpMethod.GET))
         .andRespond(withSuccess("{ \"id\" : \"42\", \"name\" : \"Holiday Inn\"}", MediaType.APPLICATION_JSON));
    
     Hotel hotel = restTemplate.getForObject("/hotels/{id}", Hotel.class, 42);
     // Use the hotel instance...
    
     // Verify all expectations met
     server.verify();
     

    Note that as an alternative to the above you can also set the MockMvcClientHttpRequestFactory on a RestTemplate which allows executing requests against an instance of MockMvc.

    从以下版本开始:
    3.2
    作者:
    Craig Walls, Rossen Stoyanchev
    • 方法详细资料

      • expect

        public ResponseActions expect​(RequestMatcher matcher)
        Set up an expectation for a single HTTP request. The returned ResponseActions can be used to set up further expectations as well as to define the response.

        This method may be invoked any number times before starting to make request through the underlying RestTemplate in order to set up all expected requests.

        参数:
        matcher - request matcher
        返回:
        a representation of the expectation
      • expect

        public ResponseActions expect​(ExpectedCount count,
                                      RequestMatcher matcher)
        An alternative to expect(RequestMatcher) that also indicates how many times the request is expected to be executed.

        When request expectations have an expected count greater than one, only the first execution is expected to match the order of declaration. Subsequent request executions may be inserted anywhere thereafter.

        参数:
        count - the expected count
        matcher - request matcher
        返回:
        a representation of the expectation
        从以下版本开始:
        4.3
      • reset

        public void reset()
        Reset the internal state removing all expectations and recorded requests.
      • createServer

        public static MockRestServiceServer createServer​(AsyncRestTemplate asyncRestTemplate)
        A shortcut for bindTo(asyncRestTemplate).build().
        参数:
        asyncRestTemplate - the AsyncRestTemplate to set up for mock testing
        返回:
        the created mock server