RSpec-like doc format output in Elixir tests
When running RSpec tests you can pass a
--format flag to
to format test output in a more verbose style. The default output looks like this.
If you pass
--format documentation it will look more like this.
1 2 3 4 something does something that passes does something that fails (FAILED - 1) does something that is pending (PENDING: Not Yet Implemented)
I find this output really helpful. It helps to visualise the shape of the tests, and guides naming because you can see the visual hierarchy of how things fit together.
You can achieve a very similar result to RSpec by passing
1 2 3 4 5 6 mix test --trace TestApp.TimeDateHelper * test relative_format/1 single hour, multiple minutes (0.00ms) * test relative_format/1 greater than an hour (0.00ms) * test relative_format/1 less than a minute (0.00ms)
You can make this change across the whole test suite by changing the call to
ExUnit.start/1 to include a trace option. This is usually in your
1 ExUnit.start(trace: true)
Be aware though, this might not be what you want. From the ExUnit docs:
...sets ExUnit into trace mode, this sets :max_cases to 1 and prints each test case and test while running...
trace: true will also set
max_cases: 1 which will reduce the amount
of tests that are run in parallel.
So this could slow down your test suite. Be careful!