Ricerca…


introduzione

Quando documenti il ​​tuo codice con @doc , puoi fornire esempi di codice come:

# 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

Puoi aggiungere gli esempi di codice come casi di test in una delle tue suite di test:

# myproject/test/doc_test.exs

defmodule DocTest do
  use ExUnit.Case
  doctest MyModule
end

Quindi, è possibile eseguire i test con il test del mix test .

Generazione di documentazione HTML basata su doctest

Poiché la generazione della documentazione si basa sul markdown, devi fare 2 cose:

1 / Scrivi il tuo doctest e rendi chiari i tuoi esempi di doctest per migliorare la leggibilità (è meglio dare un titolo, come "esempi" o "test"). Quando scrivi i tuoi test, non dimenticare di dare 4 spazi al tuo codice di test in modo che sia formattato come codice nella documentazione HTML.

2 / Quindi, inserisci "mix docs" nella console alla radice del tuo progetto elixir per generare la documentazione HTML nella directory doc situata nella radice del tuo progetto elixir.
$> mix docs

Doctest multilinea

Puoi fare un doctest su più righe usando '...>' per le linee che seguono il primo

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


Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow