Things other than green dots in elixir test output.
If you raise an exception on purpose to test the code that’s supposed to handle the error, you’ll see the error output in your console when you run the test. Or if you’re working with a database library and you insert some records to test with, you’ll see the logs showing the records being inserted in your test output. Ew.
ExUnit has you covered. Tag the test that’s polluting your test output with
@tag :capture_log and you won’t see any output coming from that test anymore,
just green dots. 😌.
If you’re testing some module where every test is inserting things into a test
database, or is logging things all over the place for other reasons, you can tag
your whole module with
@moduletag :capture_log to silence the output for every
If you want to do something with the captured output instead of just throwing it
capture_log can return it to you. Check out the ExUnit docs for
capture_log to learn more.