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