Class ContentResultMatchers

java.lang.Object
org.springframework.test.web.servlet.result.ContentResultMatchers

public class ContentResultMatchers extends Object
Factory for response content assertions.

An instance of this class is typically accessed via MockMvcResultMatchers.content().

Since:
3.2
Author:
Rossen Stoyanchev, Sam Brannen
  • Constructor Details

  • Method Details

    • contentType

      public ResultMatcher contentType(String contentType)
      Assert the ServletResponse content type. The given content type must fully match including type, sub-type, and parameters. For checking only the type and sub-type see contentTypeCompatibleWith(String).
    • contentType

      public ResultMatcher contentType(MediaType contentType)
      Assert the ServletResponse content type after parsing it as a MediaType. The given content type must fully match including type, sub-type, and parameters. For checking only the type and sub-type see contentTypeCompatibleWith(MediaType).
    • contentTypeCompatibleWith

      public ResultMatcher contentTypeCompatibleWith(String contentType)
      Assert the ServletResponse content type is compatible with the given content type as defined by MediaType.isCompatibleWith(MediaType).
    • contentTypeCompatibleWith

      public ResultMatcher contentTypeCompatibleWith(MediaType contentType)
      Assert the ServletResponse content type is compatible with the given content type as defined by MediaType.isCompatibleWith(MediaType).
    • encoding

      public ResultMatcher encoding(Charset characterEncoding)
      Assert the character encoding in the ServletResponse.
      Since:
      5.3.10
      See Also:
    • encoding

      public ResultMatcher encoding(String characterEncoding)
      Assert the character encoding in the ServletResponse.
      See Also:
    • string

      public ResultMatcher string(Matcher<? super String> matcher)
      Assert the response body content with a Hamcrest Matcher.
       mockMvc.perform(get("/path"))
         .andExpect(content().string(containsString("text")));
       
    • string

      public ResultMatcher string(String expectedContent)
      Assert the response body content as a String.
    • bytes

      public ResultMatcher bytes(byte[] expectedContent)
      Assert the response body content as a byte array.
    • xml

      public ResultMatcher xml(String xmlContent)
      Parse the response content and the given string as XML and assert the two are "similar" - i.e. they contain the same elements and attributes regardless of order.

      Use of this matcher requires the XMLUnit library.

      Parameters:
      xmlContent - the expected XML content
      See Also:
    • node

      public ResultMatcher node(Matcher<? super Node> matcher)
      Parse the response content as Node and apply the given Hamcrest Matcher.
    • source

      public ResultMatcher source(Matcher<? super Source> matcher)
      Parse the response content as DOMSource and apply the given Hamcrest Matcher.
      See Also:
    • json

      public ResultMatcher json(String jsonContent)
      Parse the expected and actual strings as JSON and assert the two are "similar" - i.e. they contain the same attribute-value pairs regardless of formatting with a lenient checking (extensible, and non-strict array ordering).
      Parameters:
      jsonContent - the expected JSON content
      Since:
      4.1
    • json

      public ResultMatcher json(String jsonContent, boolean strict)
      Parse the response content and the given string as JSON and assert the two are "similar" - i.e. they contain the same attribute-value pairs regardless of formatting.

      Can compare in two modes, depending on strict parameter value:

      • true: strict checking. Not extensible, and strict array ordering.
      • false: lenient checking. Extensible, and non-strict array ordering.

      Use of this matcher requires the JSONassert library.

      Parameters:
      jsonContent - the expected JSON content
      strict - enables strict checking
      Since:
      4.2