Class MessageTracingTestListener

java.lang.Object
org.citrusframework.report.AbstractTestListener
org.citrusframework.report.MessageTracingTestListener
All Implemented Interfaces:
MessageListener, TestListener

public class MessageTracingTestListener extends AbstractTestListener implements MessageListener
Test listener collects all messages sent and received by Citrus during test execution. Listener writes a trace file with all message content per test case to a output directory. Note: This class is not thread safe! Parallel test execution leads to behaviour that messages get mixed. Proper correlation to test case is not possible here.
Since:
1.2
  • Constructor Details

    • MessageTracingTestListener

      public MessageTracingTestListener()
  • Method Details

    • onTestStart

      public void onTestStart(TestCase test)
      Specified by:
      onTestStart in interface TestListener
      Overrides:
      onTestStart in class AbstractTestListener
    • onTestFinish

      public void onTestFinish(TestCase test)
      Specified by:
      onTestFinish in interface TestListener
      Overrides:
      onTestFinish in class AbstractTestListener
    • onInboundMessage

      public void onInboundMessage(Message message, TestContext context)
      Specified by:
      onInboundMessage in interface MessageListener
    • onOutboundMessage

      public void onOutboundMessage(Message message, TestContext context)
      Specified by:
      onOutboundMessage in interface MessageListener
    • getTraceFile

      protected File getTraceFile(String testName)
      Returns the trace file for message tracing. The file name should be unique per test execution run; the test name and a execution id (the test execution start time) is embedded within the filename. Normally this should suffice to ensure that the trace filename is unique per test/test-execution.
      Parameters:
      testName - the name of the test to create the trace file for
      Returns:
      the trace file to use for message tracing
    • setOutputDirectory

      public void setOutputDirectory(String outputDirectory)
      Sets the outputDirectory.
      Parameters:
      outputDirectory - the outputDirectory to set