JUnit Formatter v2.0.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

Formats time from nanos to seconds

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”)

Link to this section Functions

Link to this function format_time(time) View Source
format_time(integer) :: integer

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”)
Link to this macro xmlAttribute(args \\ []) View Source (macro)
Link to this macro xmlAttribute(record, args) View Source (macro)
Link to this macro xmlElement(args \\ []) View Source (macro)
Link to this macro xmlElement(record, args) View Source (macro)
Link to this macro xmlText(args \\ []) View Source (macro)
Link to this macro xmlText(record, args) View Source (macro)