2016-12-27 80 views
12

在我的仙丹/鳳凰的應用程序,當我運行如何讓Elixir混合測試輸出更加冗長?

mix test 

我得到這樣的輸出:

$ mix test 
.... 

Finished in 0.09 seconds 
4 tests, 0 failures 

與該成功每個測試點。

如何輸出成功的測試名稱?

在使用RSpec我用在目錄中的文件.rspec看起來像這樣做的Rails:

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

是否有藥劑的相同呢?

回答

18

要打印通過測試的名稱,您可以將--trace參數傳遞給mix test。例如,這裏有mix test --tracehttpoison包的當前主分支輸出:

$ 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.starttest_helper.exs設置爲true:

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])