JUnit Formatter v3.1.0 JUnitFormatter View Source

  • A ExUnit.Formatter implementation that generates a xml in the format understood by JUnit.

To acomplish this, there are some mappings that are not straight one to one. Therefore, here goes the mapping:

  • JUnit - ExUnit
  • Testsuites - :testsuite
  • Testsuite - %ExUnit.TestCase{}
  • failures = failures
  • skipped = skip
  • errors = invalid
  • time = (sum of all times in seconds rounded down)
  • Testcase - %ExUnit.Test
  • name = :case
  • test = :test
  • content (only if not successful)
  • skipped = {:state, {:skip, _}}
  • failed = {:state, {:failed, {_, reason, stacktrace}}}
  • reason = reason.message
  • contet = Exception.format_stacktrace(stacktrace)
  • error = {:invalid, module}

The report is written to a file in the _build directory.

Link to this section Summary

Functions

Returns a specification to start this module under a supervisor.

Formats time from nanos to seconds

Helper function to get the full path of the generated report file. It can be passed 2 configurations

Link to this section Functions

Returns a specification to start this module under a supervisor.

See Supervisor.

Link to this function

format_time(time) View Source
format_time(integer()) :: binary()

Formats time from nanos to seconds

Link to this function

get_report_file_path() View Source
get_report_file_path() :: String.t()

Helper function to get the full path of the generated report file. It can be passed 2 configurations

  • report_dir: full path of a directory (defaults to Mix.Project.app_path())
  • report_file: name of the generated file (defaults to "test-junit-report.xml")