Так что это круто. Эликсир позволяет вам определить простой тестовый модуль следующим образом:

defmodule DocTest do
 use ExUnit.Case, async: true
 doctest Unicorns
end

Это круто и делает вещи! Но что именно он делает? Он запускает примеры кода в комментариях к документации.(Если вы пользователь Python, приносим извинения за резкость.)

да. Вы правильно прочитали. Автоматизированное тестирование примеров документации! Давайте посмотрим на пример:

defmodule Unicorns do
  @doc """
  Gives a string unicorns.
  ## Examples
   iex> Magic.unicorns("stephen")
   "stephen unicorns"
   iex> Magic.unicorns('silly')
   "silly unicorns"
  """
  def unicorns(str) when is_binary(str), do: str <> " unicorns"
  def unicorns(str), do: to_string(str) <> " unicorns"
end

И запустите его:

$ mix test test/doc_test.exs
Finished in 0.00 seconds
1 test, 0 failures

Теперь я должен сказать: Mix генерирует макрос doctest в каждом новом проекте, поэтому он уже должен быть в ваших текущих приложениях. Пора заняться документацией, ага!

Для большего:

http://elixir-lang.org/docs/stable/ex_unit/ExUnit.DocTest.html