Class OutputCaptureRule

java.lang.Object
org.springframework.boot.test.system.OutputCaptureRule
All Implemented Interfaces:
CharSequence, org.junit.rules.TestRule, CapturedOutput

public class OutputCaptureRule extends Object implements org.junit.rules.TestRule, CapturedOutput
JUnit @Rule to capture output from System.out and System.err.

To use add as a @Rule:

 public class MyTest {

     @Rule
     public OutputCaptureRule output = new OutputCaptureRule();

     @Test
     public void test() {
         assertThat(output).contains("ok");
     }

 }
 
Since:
2.2.0
Author:
Phillip Webb, Andy Wilkinson
  • Constructor Details

    • OutputCaptureRule

      public OutputCaptureRule()
  • Method Details

    • apply

      public org.junit.runners.model.Statement apply(org.junit.runners.model.Statement base, org.junit.runner.Description description)
      Specified by:
      apply in interface org.junit.rules.TestRule
    • getAll

      public String getAll()
      Description copied from interface: CapturedOutput
      Return all content (both System.out and System.err) in the order that it was captured.
      Specified by:
      getAll in interface CapturedOutput
      Returns:
      all captured output
    • getOut

      public String getOut()
      Description copied from interface: CapturedOutput
      Return System.out content in the order that it was captured.
      Specified by:
      getOut in interface CapturedOutput
      Returns:
      System.out captured output
    • getErr

      public String getErr()
      Description copied from interface: CapturedOutput
      Return System.err content in the order that it was captured.
      Specified by:
      getErr in interface CapturedOutput
      Returns:
      System.err captured output
    • toString

      public String toString()
      Specified by:
      toString in interface CharSequence
      Overrides:
      toString in class Object
    • expect

      public void expect(org.hamcrest.Matcher<? super String> matcher)
      Verify that the output is matched by the supplied matcher. Verification is performed after the test method has executed.
      Parameters:
      matcher - the matcher