Interface TestReporter

Functional Interface:
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface @API(status=STABLE, since="5.0") public interface TestReporter
Parameters of type TestReporter can be injected into @BeforeEach and @AfterEach lifecycle methods as well as methods annotated with @Test, @RepeatedTest, @ParameterizedTest, @TestFactory, etc.

Within such methods the injected TestReporter can be used to publish report entries for the current container or test to the reporting infrastructure.

Since:
5.0
See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    default void
    Publish a directory with the supplied name written by the supplied action and attach it to the current test or container.
    default void
    Publish the supplied directory and attach it to the current test or container.
    default void
    Publish the supplied value as a report entry.
    default void
    publishEntry(String key, String value)
    Publish the supplied key-value pair as a report entry.
    void
    Publish the supplied map of key-value pairs as a report entry.
    default void
    publishFile(String name, MediaType mediaType, ThrowingConsumer<Path> action)
    Publish a file or directory with the supplied name and media type written by the supplied action and attach it to the current test or container.
    default void
    publishFile(Path file, MediaType mediaType)
    Publish the supplied file and attach it to the current test or container.
  • Method Details

    • publishEntry

      void publishEntry(Map<String,String> map)
      Publish the supplied map of key-value pairs as a report entry.
      Parameters:
      map - the key-value pairs to be published; never null; keys and values within entries in the map also must not be null or blank
      See Also:
    • publishEntry

      default void publishEntry(String key, String value)
      Publish the supplied key-value pair as a report entry.
      Parameters:
      key - the key of the entry to publish; never null or blank
      value - the value of the entry to publish; never null or blank
      See Also:
    • publishEntry

      @API(status=STABLE, since="5.3") default void publishEntry(String value)
      Publish the supplied value as a report entry.

      This method delegates to publishEntry(String, String), supplying "value" as the key and the supplied value argument as the value.

      Parameters:
      value - the value to be published; never null or blank
      Since:
      5.3
      See Also:
    • publishFile

      @API(status=EXPERIMENTAL, since="5.12") default void publishFile(Path file, MediaType mediaType)
      Publish the supplied file and attach it to the current test or container.

      The file will be copied to the report output directory replacing any potentially existing file with the same name.

      Parameters:
      file - the file to be attached; never null or blank
      mediaType - the media type of the file; never null; use MediaType.APPLICATION_OCTET_STREAM if unknown
      Since:
      5.12
    • publishDirectory

      @API(status=EXPERIMENTAL, since="5.12") default void publishDirectory(Path directory)
      Publish the supplied directory and attach it to the current test or container.

      The entire directory will be copied to the report output directory replacing any potentially existing files with the same name.

      Parameters:
      directory - the file to be attached; never null or blank
      Since:
      5.12
    • publishFile

      @API(status=EXPERIMENTAL, since="5.12") default void publishFile(String name, MediaType mediaType, ThrowingConsumer<Path> action)
      Publish a file or directory with the supplied name and media type written by the supplied action and attach it to the current test or container.

      The Path passed to the supplied action will be relative to the report output directory, but it's up to the action to write the file.

      Parameters:
      name - the name of the file to be attached; never null or blank and must not contain any path separators
      mediaType - the media type of the file; never null; use MediaType.APPLICATION_OCTET_STREAM if unknown
      action - the action to be executed to write the file; never null
      Since:
      5.12
    • publishDirectory

      @API(status=EXPERIMENTAL, since="5.12") default void publishDirectory(String name, ThrowingConsumer<Path> action)
      Publish a directory with the supplied name written by the supplied action and attach it to the current test or container.

      The Path passed to the supplied action will be relative to the report output directory and point to an existing directory, but it's up to the action to write files to it.

      Parameters:
      name - the name of the directory to be attached; never null or blank and must not contain any path separators
      action - the action to be executed to write the file; never null
      Since:
      5.12