如何使用猎犬获取文件中测试的状态?

时间:2019-09-27 20:55:55

标签: elixir ex-unit hound

ExUnit提供了一些获取测试结果的方法。我不确定如何使用https://hexdocs.pm/ex_unit/ExUnit.Test.htmlhttps://hexdocs.pm/ex_unit/ExUnit.Formatter.html

我在一个文件中有多个测试。如何在最后生成测试名称和状态之类的结果?

我正在使用猎犬编写测试。 预先感谢。

1 个答案:

答案 0 :(得分:1)

首先,可以为此目的使用ExUnit.after_suite/1。最好的调优方法是引入自己的格式化程序,然后在调用ExUnit.start()之前将其传递给ExUnit.configure/1。如下所示(根据您的需要进行调整)。

defmodule MyApp.CLIFormatter do
  @moduledoc false
  use GenServer

  def init(opts), do: {:ok, opts}

  def handle_cast({:suite_started, _opts}, config) do
    IO.puts("Started")
    {:noreply, config}
  end

  def handle_cast({:suite_finished, run_us, load_us}, config) do
    IO.inspect(
      {{:suite_finished, run_us, load_us}, config},
      label: "Finished")
    {:noreply, config}
  end

  def handle_cast(_, config), do: {:noreply, config}
end

ExUnit.configure(formatters: [ExUnit.CLIFormatter, MyApp.CLIFormatter])

ExUnit.start()