Class PayloadMatcher<T>

java.lang.Object
org.hamcrest.BaseMatcher<T>
org.hamcrest.TypeSafeMatcher<Message<?>>
org.springframework.integration.test.matcher.PayloadMatcher<T>
All Implemented Interfaces:
org.hamcrest.Matcher<Message<?>>, org.hamcrest.SelfDescribing

public final class PayloadMatcher<T> extends org.hamcrest.TypeSafeMatcher<Message<?>>
Is the payload of a Message equal to a given value or is matching a given matcher?

A Junit example using Assert.assertThat(Object, Matcher) could look like this to test a payload value:

 
 ANY_PAYLOAD = new BigDecimal("1.123");
 Message<BigDecimal> message = MessageBuilder.withPayload(ANY_PAYLOAD).build();
 assertThat(message, hasPayload(ANY_PAYLOAD));
 
 

An example using Assert.assertThat(Object, Matcher) delegating to another Matcher.

 
 ANY_PAYLOAD = new BigDecimal("1.123");
 Message<BigDecimal> message = MessageBuilder.withPayload(ANY_PAYLOAD).build();
 assertThat(message, PayloadMatcher.hasPayload(is(BigDecimal.class)));
 assertThat(message, PayloadMatcher.hasPayload(notNullValue()));
 assertThat(message, not((PayloadMatcher.hasPayload(is(String.class))))); *
 
 
Author:
Alex Peters, Iwein Fuld, Artem Bilan, Gary Russell
  • Method Details

    • matchesSafely

      public boolean matchesSafely(Message<?> message)
      Specified by:
      matchesSafely in class org.hamcrest.TypeSafeMatcher<Message<?>>
    • describeTo

      public void describeTo(org.hamcrest.Description description)
    • hasPayload

      public static <P> PayloadMatcher<P> hasPayload(P payload)
    • hasPayload

      public static <P> PayloadMatcher<P> hasPayload(org.hamcrest.Matcher<P> payloadMatcher)