수색…


소개

@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 테스트를 실행할 수 있습니다.

doctest를 기반으로 HTML 문서 생성하기

문서 작성은 markdown을 기반으로하기 때문에 다음 두 가지를 수행해야합니다.

1 / doctest를 작성하고 가독성을 높이기 위해 doctest 예제를 명확하게 만드십시오 ( "예제"또는 "테스트"와 같은 제목을 사용하는 것이 좋습니다). 테스트를 작성할 때 테스트 코드에 4 공백을 지정하여 HTML 문서의 코드로 서식을 지정하는 것을 잊지 마십시오.

2 / 그런 다음, 당신의 엘릭서 프로젝트 루트에있는 콘솔에 "mix docs"를 입력하여 엘릭서 프로젝트 루트에있는 doc 디렉토리에 HTML 문서를 생성하십시오.
$> mix docs

다중 행 doctests

첫 번째 줄 다음에 '...>'을 사용하여 여러 줄의 doctest를 할 수 있습니다.

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


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow