~a{I love e-6ren">
gpt4 book ai didi

Elixir :doctesting一个印记

转载 作者:行者123 更新时间:2023-12-02 00:53:28 24 4
gpt4 key购买 nike

我写了一个很棒的印记:

defmodule Sigiltest do

@doc """
An awesome sigil!

### Usage

iex> ~a{I love elixir}
"I love elixir, awesome!"
"""
def sigil_a(content, _flags) do
"#{content}, awesome!"
end
end

这是测试模块:

defmodule SigiltestTest do
use ExUnit.Case
doctest Sigiltest
end

当我运行 mix test 时,我得到以下输出:

Compiled lib/sigiltest.ex
** (CompileError) (for doctest at) lib/sigiltest.ex:7: undefined function sigil_a/2
(stdlib) lists.erl:1337: :lists.foreach/2
(stdlib) erl_eval.erl:670: :erl_eval.do_apply/6

有没有办法在 sigil 上运行 doctests?如果是,怎么办?

最佳答案

那是因为 sigil_a 不存在于运行 doctests 的上下文中。您可以显式导入 Sigiltest:

@doc """
An awesome sigil!

### Usage

iex> import Sigiltest
iex> ~a{I love elixir}
"I love elixir, awesome!"
"""

或将 import: true 添加到 doctest 调用中:

doctest Sigiltest, import: true

关于 Elixir :doctesting一个印记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37776308/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com