38

私のElixir/Phoenixアプリで、実行すると

mix test

次のような出力が得られます。

$ mix test
....

Finished in 0.09 seconds
4 tests, 0 failures

成功した各テストのドット付き。

代わりに成功したテストの名前を出力するにはどうすればよいですか?

rspec を使用する Rails では、次のようなディレクトリ内の .rspec ファイルを使用してこれを行っていました。

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

Elixirに同等のものはありますか?

4

2 に答える 2

54

--trace合格したテストの名前を出力するには、引数を に渡すことができますmix test。たとえば、パッケージmix test --traceの現在のマスター ブランチでの出力は次のとおりです。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

ExUnit.startの行を変更して、デフォルトでこのオプションを true に設定することもできます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])
于 2016-12-27T18:37:47.530 に答える
12

--trace探しているオプションです: https://hexdocs.pm/mix/Mix.Tasks.Test.html

それが役立つことを願っています!

于 2016-12-27T18:36:28.887 に答える