View Source JUnitFormatter (JUnit Formatter v3.4.0)
An ExUnit.Formatter
implementation that generates a XML in the format understood by JUnit.
To accomplish this, there are some mappings that are not straight one to one. Therefore, here goes the mapping:
- JUnit -
ExUnit
- Testsuites - :testsuite
- Testsuite -
ExUnit.Case
- failures = failures
- skipped = skipped
- 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, {:skipped, _}}
- failed = {:state, {:failed, {_, reason, stacktrace}}}
- reason = reason.message
- content =
Exception.format_stacktrace/1
- error = {:invalid, module}
The report is written to a file in the _build
directory.
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
Functions
Returns a specification to start this module under a supervisor.
See Supervisor
.
Formats time from nanos to seconds
@spec 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")