ExUnit v1.4.5 ExUnit.Formatter View Source

Helper functions for formatting and the formatting protocols.

Formatters are GenServers specified during ExUnit configuration that receives a series of events as cast messages.

The following events are possible:

  • {:suite_started, opts} - the suite has started with the specified options to the runner.

  • {:suite_finished, run_us, load_us} - the suite has finished. run_us and load_us are the run and load times in microseconds respectively.

  • {:case_started, test_case} - a test case has started. See ExUnit.TestCase for details.

  • {:case_finished, test_case} - a test case has finished. See ExUnit.TestCase for details.

  • {:test_started, test} - a test has started. See ExUnit.Test for details.

  • {:test_finished, test} - a test has finished. See ExUnit.Test for details.

Link to this section Summary

Functions

Formats filters used to constrain cases to be run

Receives a test and formats its failure

Formats time taken running the test suite

Link to this section Types

Link to this type load_us() View Source
load_us() :: pos_integer | nil
Link to this type run_us() View Source
run_us() :: pos_integer

Link to this section Functions

Link to this function format_filters(filters, type) View Source
format_filters(Keyword.t, atom) :: String.t

Formats filters used to constrain cases to be run.

Examples

iex> format_filters([run: true, slow: false], :include)
"Including tags: [run: true, slow: false]"
Link to this function format_test_case_failure(test_case, failures, counter, width, formatter) View Source

Receives a test case and formats its failure.

Link to this function format_test_failure(test, failures, counter, width, formatter) View Source

Receives a test and formats its failure.

Link to this function format_time(run_us, load_us) View Source
format_time(run_us, load_us) :: String.t

Formats time taken running the test suite.

It receives the time spent running the tests and optionally the time spent loading the test suite.

Examples

iex> format_time(10000, nil)
"Finished in 0.01 seconds"

iex> format_time(10000, 20000)
"Finished in 0.03 seconds (0.02s on load, 0.01s on tests)"

iex> format_time(10000, 200000)
"Finished in 0.2 seconds (0.2s on load, 0.01s on tests)"