ExUnit.Formatter View Source
Helper functions for formatting and the formatting protocols.
Formatters are GenServers specified during ExUnit configuration
that receive a series of events as casts.
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_usandload_usare the run and load times in microseconds respectively.{:module_started, test_module}- a test module has started. SeeExUnit.TestModulefor details.{:module_finished, test_module}- a test module has finished. SeeExUnit.TestModulefor details.{:test_started, test}- a test has started. SeeExUnit.Testfor details.{:test_finished, test}- a test has finished. SeeExUnit.Testfor details.
The formatter will also receive the following events but they are deprecated and should be ignored:
{:case_started, test_module}- a test module has started. SeeExUnit.TestCasefor details.{:case_finished, test_module}- a test module has finished. SeeExUnit.TestCasefor details.
The full ExUnit configuration is passed as the argument to init/1 when the
formatters are started. If you need to do runtime configuration of a
formatter, you can add any configuration needed by using ExUnit.configure/1
or ExUnit.start/1, and this will then be included in the options passed to
the GenServer's init/1 callback.
Link to this section Summary
Functions
Formats filters used to constrain cases to be run
Receives a test module and formats its failure
Receives a test and formats its failure
Formats time taken running the test suite
Link to this section Types
id()
View Source
id() :: term()
id() :: term()
load_us()
View Source
load_us() :: pos_integer() | nil
load_us() :: pos_integer() | nil
run_us()
View Source
run_us() :: pos_integer()
run_us() :: pos_integer()
test()
View Source
test() :: ExUnit.Test.t()
test() :: ExUnit.Test.t()
Link to this section Functions
format_assertion_error(test, struct, stack, width, formatter, counter_padding) View Source
format_filters(filters, type) View Source
Formats filters used to constrain cases to be run.
Examples
iex> format_filters([run: true, slow: false], :include)
"Including tags: [run: true, slow: false]"
format_test_all_failure(test_module, failures, counter, width, formatter) View Source
Receives a test module and formats its failure.
format_test_failure(test, failures, counter, width, formatter) View Source
Receives a test and formats its failure.
format_time(run_us, load_us) View Source
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, 200_000)
"Finished in 0.2 seconds (0.2s on load, 0.01s on tests)"