Recherche…


introduction

Lorsque vous documentez votre code avec @doc , vous pouvez fournir des exemples de code comme ceci:

# 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

Vous pouvez ajouter les exemples de code en tant que cas de test dans l'une de vos suites de tests:

# myproject/test/doc_test.exs

defmodule DocTest do
  use ExUnit.Case
  doctest MyModule
end

Ensuite, vous pouvez ensuite exécuter vos tests avec le mix test .

Générer de la documentation HTML basée sur doctest

La génération de la documentation étant basée sur le démarquage, vous devez faire 2 choses:

1 / Ecrivez votre doctest et donnez des exemples clairs de vos doctest pour améliorer la lisibilité (il est préférable de donner un titre, comme "des exemples" ou des "tests"). Lorsque vous écrivez vos tests, n'oubliez pas de donner 4 espaces à votre code de test pour qu'il soit formaté en tant que code dans la documentation HTML.

2 / Ensuite, entrez "mix docs" dans la console à la racine de votre projet elixir pour générer la documentation HTML dans le répertoire doc situé à la racine de votre projet elixir.
$> mix docs

Docteurs multilignes

Vous pouvez faire un doctest multiligne en utilisant "...>" pour les lignes qui suivent le premier

iex> Foo.Bar.somethingConditional("baz")
...>   |> case do
...>       {:ok, _} -> true
...>       {:error, _} -> false
...>      end
true


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow