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, subtype, and parameters. For checking only the type and subtype 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, subtype, and parameters. For checking only the type and subtype 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).

      Use of this matcher requires the JSONassert library.

      Parameters:
      jsonContent - the expected JSON content
      Since:
      4.1
      See Also:
    • json

      @Deprecated(since="6.2") public ResultMatcher json(String jsonContent, boolean strict)
      Deprecated.
      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
    • json

      public ResultMatcher json(String jsonContent, JsonCompareMode compareMode)
      Parse the response content and the given string as JSON and assert the two using the given mode. If the comparison failed, throws an AssertionError with the message of the JsonComparison.

      Use of this matcher requires the JSONassert library.

      Parameters:
      jsonContent - the expected JSON content
      compareMode - the compare mode
      Since:
      6.2
    • json

      public ResultMatcher json(String jsonContent, JsonComparator comparator)
      Parse the response content and the given string as JSON and assert the two using the given JsonComparator. If the comparison failed, throws an AssertionError with the message of the JsonComparison.

      Use this matcher if you require a custom JSONAssert configuration or if you desire to use another assertion library.

      Parameters:
      jsonContent - the expected JSON content
      comparator - the comparator to use
      Since:
      6.2