Elixir Language
Doctests
Поиск…
Вступление
Когда вы документируете свой код с помощью @doc
, вы можете привести примеры кода следующим образом:
# myproject/lib/my_module.exs
defmodule MyModule do
@doc """
Given a number, returns `true` if the number is even, otherwise `false`.
## Example
iex> MyModule.even?(2)
true
iex> MyModule.even?(3)
false
"""
def even?(number) do
rem(number, 2) == 0
end
end
Вы можете добавить примеры кода в качестве тестовых примеров в один из тестовых наборов:
# myproject/test/doc_test.exs
defmodule DocTest do
use ExUnit.Case
doctest MyModule
end
Затем вы можете запустить свои тесты с помощью mix test
.
Создание HTML-документации на основе доктрины
Поскольку генерация документации основана на уценке, вы должны сделать 2 вещи:
1 / Напишите свой доктрист и сделайте ваши примеры доктрины понятными для повышения удобочитаемости (лучше дать заголовок, например «примеры» или «тесты»). Когда вы пишете свои тесты, не забудьте указать 4 пробела для вашего кода тестов, чтобы он форматировался как код в документации HTML.
2 / Затем введите «mix docs» в консоли в корне вашего проекта elixir для создания документации HTML в каталоге doc, расположенной в корне вашего проекта elixir.
$> mix docs
Многолинейные доктрины
Вы можете сделать многострочный доктриум, используя «...>» для строк, следующих за первым
iex> Foo.Bar.somethingConditional("baz")
...> |> case do
...> {:ok, _} -> true
...> {:error, _} -> false
...> end
true