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 執行測試。