Class Events

java.lang.Object
org.junit.platform.testkit.engine.Events

@API(status=MAINTAINED, since="1.7") public final class Events extends Object
Events is a facade that provides a fluent API for working with events.
Since:
1.4
  • Method Details

    • list

      public List<Event> list()
      Get the events as a List.
      Returns:
      the list of events; never null
      See Also:
    • stream

      public Stream<Event> stream()
      Get the events as a Stream.
      Returns:
      the stream of events; never null
      See Also:
    • map

      public <R> Stream<R> map(Function<? super Event, ? extends R> mapper)
      Shortcut for events.stream().map(mapper).
      Parameters:
      mapper - a Function to apply to each event; never null
      Returns:
      the mapped stream of events; never null
      See Also:
    • filter

      public Stream<Event> filter(Predicate<? super Event> predicate)
      Shortcut for events.stream().filter(predicate).
      Parameters:
      predicate - a Predicate to apply to each event to decide if it should be included in the filtered stream; never null
      Returns:
      the filtered stream of events; never null
      See Also:
    • executions

      public Executions executions()
      Get the Executions for the current set of events.

      The set of executions is derived from the current set of events by taking single execution skipped events and pairs of execution started and execution finished events. As a consequence, executions for which either the started or finished event is not included in the current set of events are not included.

      Returns:
      an instance of Executions for the current set of events; never null
    • count

      public long count()
      Get the number of events contained in this Events object.
    • skipped

      public Events skipped()
      Get the skipped Events contained in this Events object.
      Returns:
      the filtered Events; never null
    • started

      public Events started()
      Get the started Events contained in this Events object.
      Returns:
      the filtered Events; never null
    • finished

      public Events finished()
      Get the finished Events contained in this Events object.
      Returns:
      the filtered Events; never null
    • aborted

      public Events aborted()
      Get the aborted Events contained in this Events object.
      Returns:
      the filtered Events; never null
    • succeeded

      public Events succeeded()
      Get the succeeded Events contained in this Events object.
      Returns:
      the filtered Events; never null
    • failed

      public Events failed()
      Get the failed Events contained in this Events object.
      Returns:
      the filtered Events; never null
    • reportingEntryPublished

      public Events reportingEntryPublished()
      Get the reporting entry publication Events contained in this Events object.
      Returns:
      the filtered Events; never null
    • fileEntryPublished

      @API(status=MAINTAINED, since="1.13.3") public Events fileEntryPublished()
      Get the file entry publication Events contained in this Events object.
      Returns:
      the filtered Events; never null
      Since:
      1.12
    • dynamicallyRegistered

      public Events dynamicallyRegistered()
      Get the dynamic registration Events contained in this Events object.
      Returns:
      the filtered Events; never null
    • assertStatistics

      public Events assertStatistics(Consumer<EventStatistics> statisticsConsumer)
      Assert statistics for the events contained in this Events object.

      Example

      events.assertStatistics(stats -> stats.started(1).succeeded(1).failed(0));

      Parameters:
      statisticsConsumer - a Consumer of EventStatistics; never null
      Returns:
      this Events object for method chaining; never null
    • assertEventsMatchExactly

      @SafeVarargs public final void assertEventsMatchExactly(Condition<? super Event>... conditions)
      Assert that all events contained in this Events object exactly match the provided conditions.

      Conditions can be imported statically from EventConditions and TestExecutionResultConditions.

      Example

      executionResults.testEvents().assertEventsMatchExactly(
          event(test("exampleTestMethod"), started()),
          event(test("exampleTestMethod"), finishedSuccessfully())
      );
      
      Parameters:
      conditions - the conditions to match against; never null
      See Also:
    • assertEventsMatchLoosely

      @SafeVarargs public final void assertEventsMatchLoosely(Condition<? super Event>... conditions)
      Assert that all provided conditions are matched by an event contained in this Events object, regardless of order.

      Note that this method performs a partial match. Thus, some events may not match any of the provided conditions.

      Conditions can be imported statically from EventConditions and TestExecutionResultConditions.

      Example

      executionResults.testEvents().assertEventsMatchLoosely(
          event(test("exampleTestMethod"), started()),
          event(test("exampleTestMethod"), finishedSuccessfully())
      );
      
      Parameters:
      conditions - the conditions to match against; never null
      Since:
      1.7
      See Also:
    • assertEventsMatchLooselyInOrder

      @SafeVarargs public final void assertEventsMatchLooselyInOrder(Condition<? super Event>... conditions)
      Assert that all provided conditions are matched by an event contained in this Events object.

      Note that this method performs a partial match. Thus, some events may not match any of the provided conditions; however, the conditions provided must be in the correct order.

      Conditions can be imported statically from EventConditions and TestExecutionResultConditions.

      Example

      executionResults.testEvents().assertEventsMatchLooselyInOrder(
          event(test("exampleTestMethod"), started()),
          event(test("exampleTestMethod"), finishedSuccessfully())
      );
      
      Parameters:
      conditions - the conditions to match against; never null
      Since:
      1.7
      See Also:
    • assertThatEvents

      public ListAssert<Event> assertThatEvents()
      Shortcut for org.assertj.core.api.Assertions.assertThat(events.list()).
      Returns:
      an instance of ListAssert for events; never null
      See Also:
    • debug

      public Events debug()
      Print all events to System.out.
      Returns:
      this Events object for method chaining; never null
    • debug

      public Events debug(OutputStream out)
      Print all events to the supplied OutputStream.
      Parameters:
      out - the OutputStream to print to; never null
      Returns:
      this Events object for method chaining; never null
    • debug

      public Events debug(Writer writer)
      Print all events to the supplied Writer.
      Parameters:
      writer - the Writer to print to; never null
      Returns:
      this Events object for method chaining; never null