Expression.Autodoc (expression v2.41.4)
Extract @expression_doc
attributes from modules defining callbacks
and automatically write doctests for those.
Also inserts an expression_docs()
function which returns a list of
all functions and their defined expression docs.
The format is:
@expression_doc doc: "Construct a date from year, month, and day integers",
expression: "@date(year, month, day)",
context: %{"year" => 2022, "month" => 1, "day" => 31},
result: "2022-01-31T00:00:00Z"
Where:
doc
is the explanatory text added to the doctest.expression
is the expression we want to testfake_expression
can optionally be the expression we want to display but not testcontext
is the context the expression is tested againstresult
is the result we're expecting to get and are asserting againstfake_result
can be optionally supplied when the returning result varies depending on factors we do not control, like fornow()
for example. When this is used, the ExDoc tests are faked and won't actually test anything so use sparingly.