testing elixir phoenix-framework mix verbosity

testing - ¿Cómo puedo hacer que la prueba de mezcla de Elixir sea más detallada?



phoenix-framework mix (2)

En mi aplicación Elixir / Phoenix, cuando corro

mix test

Me sale como:

$ mix test .... Finished in 0.09 seconds 4 tests, 0 failures

Con puntos para cada prueba que tuvo éxito.

¿Cómo saco los nombres de las pruebas que tienen éxito en su lugar?

En Rails con rspec solía hacer esto con un archivo .rspec en el directorio que parecía:

$ cat .rspec --color -fd --tty

¿Hay un equivalente en el elixir?


Para imprimir los nombres de las pruebas que pasan, puede pasar el argumento --trace para mix test . Por ejemplo, aquí está la salida de la mix test --trace de la mix test --trace en la rama maestra actual del paquete 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

También puede establecer esta opción en verdadero de forma predeterminada cambiando la línea test_helper.exs en test_helper.exs :

ExUnit.start(trace: true)

Si desea una salida completamente personalizada, puede implementar su propio formateador (consulte https://github.com/elixir-lang/elixir/blob/master/lib/ex_unit/lib/ex_unit/cli_formatter.ex para un ejemplo; formateador predeterminado) y configure ExUnit para usarlo:

ExUnit.start(formatters: [YourFormatterModule])