org.springframework.test.web.servlet.result

Class ContentResultMatchers

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


  • public class ContentResultMatchers
    extends java.lang.Object
    Factory for response content assertions.

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

    Since:
    3.2
    Author:
    Rossen Stoyanchev
    • Constructor Summary

      Constructors 
      Modifier Constructor and Description
      protected ContentResultMatchers()
      Protected constructor.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      ResultMatcher bytes(byte[] expectedContent)
      Assert the response body content as a byte array.
      ResultMatcher contentType(MediaType contentType)
      Assert the ServletResponse content type after parsing it as a MediaType.
      ResultMatcher contentType(java.lang.String contentType)
      Assert the ServletResponse content type.
      ResultMatcher contentTypeCompatibleWith(MediaType contentType)
      Assert the ServletResponse content type is compatible with the given content type as defined by MediaType.isCompatibleWith(MediaType).
      ResultMatcher contentTypeCompatibleWith(java.lang.String contentType)
      Assert the ServletResponse content type is compatible with the given content type as defined by MediaType.isCompatibleWith(MediaType).
      ResultMatcher encoding(java.lang.String characterEncoding)
      Assert the character encoding in the ServletResponse.
      ResultMatcher json(java.lang.String jsonContent)
      Parse the expected and actual strings as JSON and assert the two are "similar" - i.e.
      ResultMatcher json(java.lang.String jsonContent, boolean strict)
      Parse the response content and the given string as JSON and assert the two are "similar" - i.e.
      ResultMatcher node(org.hamcrest.Matcher<? super org.w3c.dom.Node> matcher)
      Parse the response content as Node and apply the given Hamcrest Matcher.
      ResultMatcher source(org.hamcrest.Matcher<? super javax.xml.transform.Source> matcher)
      Parse the response content as DOMSource and apply the given Hamcrest Matcher.
      ResultMatcher string(org.hamcrest.Matcher<? super java.lang.String> matcher)
      Assert the response body content with a Hamcrest Matcher.
      ResultMatcher string(java.lang.String expectedContent)
      Assert the response body content as a String.
      ResultMatcher xml(java.lang.String xmlContent)
      Parse the response content and the given string as XML and assert the two are "similar" - i.e.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • contentType

        public ResultMatcher contentType(java.lang.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).
      • string

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

        public ResultMatcher string(java.lang.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.
      • node

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

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

        public ResultMatcher json(java.lang.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(java.lang.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