Suche…


Einführung

Wenn Sie Ihren Code mit @doc , können Sie Codebeispiele wie @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

Sie können die Codebeispiele als Testfälle in eine Ihrer Testsuiten einfügen:

# myproject/test/doc_test.exs

defmodule DocTest do
  use ExUnit.Case
  doctest MyModule
end

Anschließend können Sie Ihre Tests mit dem mix test .

HTML-Dokumentation basierend auf doctest erstellen

Da das Generieren von Dokumentation auf Markdown basiert, müssen Sie zwei Dinge tun:

1 / Schreiben Sie Ihr Doctest und machen Sie Ihre Doctest-Beispiele klarer, um die Lesbarkeit zu verbessern (Es ist besser, eine Überschrift wie "Beispiele" oder "Tests" zu geben). Vergessen Sie beim Schreiben Ihrer Tests nicht, Ihrem Testcode 4 Leerzeichen zuzuweisen, damit er in der HTML-Dokumentation als Code formatiert wird.

2 / Geben Sie anschließend in der Konsole im Stammverzeichnis Ihres Elixir-Projekts "mix docs" ein, um die HTML-Dokumentation im doc-Verzeichnis im Stammverzeichnis Ihres elixir-Projekts zu generieren.
$> mix docs

Mehrzeilige doctests

Sie können einen mehrzeiligen Doctest durchführen, indem Sie für die folgenden Zeilen '...>' verwenden

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


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow