Как сделать вывод теста Elixir mix более подробным?
В моем приложении Elixir/Phoenix, когда я бегу
mix test
Я получаю вывод, как:
$ mix test
....
Finished in 0.09 seconds
4 tests, 0 failures
с точками для каждого успешного теста.
Как вывести имена тестов, которые пройдут успешно?
В Rails с rspec я делал это с файлом.rspec в каталоге, который выглядел следующим образом:
$ cat .rspec
--color
-fd
--tty
Есть ли эквивалент в эликсире?
2 ответа
Чтобы распечатать имена пройденных тестов, вы можете пройти --trace
аргумент mix test
, Например, вот вывод mix test --trace
на текущей ветке master httpoison
пакет:
$ mix test --trace
HTTPoisonTest
Starting HTTParrot on port 8080
Starting HTTParrot on port 8433 (SSL)
Starting HTTParrot on unix socket httparrot.sock
* test post binary body (97.1ms)
* test https scheme (57.8ms)
* test option follow redirect relative url (4.0ms)
* test option follow redirect absolute url (2.6ms)
* test put (0.6ms)
* test request headers as a map (0.5ms)
* test get (1.5ms)
* test head (0.5ms)
* test delete (1.5ms)
* test asynchronous redirected get request (2.3ms)
* test send cookies (4.9ms)
* test post charlist body (0.7ms)
* test patch (0.5ms)
* test post form data (0.6ms)
* test exception (6.0ms)
* test get with params (2.8ms)
* test asynchronous request (0.5ms)
* test explicit http scheme (0.5ms)
* test put without body (0.8ms)
* test multipart upload (8.5ms)
* test options (0.5ms)
* test basic_auth hackney option (1.6ms)
* test http+unix scheme (4.4ms)
* test asynchronous request with explicit streaming using [async: :once] (304.1ms)
* test cached request (2.1ms)
* test post streaming body (3.8ms)
* test char list URL (0.7ms)
HTTPoisonBaseTest
* test request body using ExampleDefp (124.1ms)
* test passing ssl option (110.9ms)
* test passing connect_timeout option (109.9ms)
* test passing recv_timeout option (103.4ms)
* test passing proxy option (106.6ms)
* test passing follow_redirect option (105.3ms)
* test passing proxy option with proxy_auth (106.9ms)
* test request raises error tuple (104.9ms)
* test passing max_redirect option (115.6ms)
* test request body using Example (111.6ms)
Finished in 2.0 seconds
37 tests, 0 failures
Randomized with seed 264353
Вы также можете установить для этой опции значение true по умолчанию, изменив ExUnit.start
линия в test_helper.exs
:
ExUnit.start(trace: true)
Если вы хотите полностью настраиваемый вывод, вы можете реализовать свой собственный форматер (см., Например, https://github.com/elixir-lang/elixir/blob/master/lib/ex_unit/lib/ex_unit/cli_formatter.ex; форматировщик по умолчанию) и настройте ExUnit для его использования:
ExUnit.start(formatters: [YourFormatterModule])
--trace
это вариант, который вы ищете: https://hexdocs.pm/mix/Mix.Tasks.Test.html
Надеюсь, это поможет!