2016-12-27 73 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.start线test_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])