Elixir ExUnit: 被测试模块不可用

13

我正在遵循这个教程:http://elixir-lang.org/getting-started/mix-otp/agent.html

因此,在我的 Elixir 项目中,我有一个模块 lib/kv/bucket.exs 和一个测试 test/kv/bucket_test.exs

当我运行 mix test 时,我得到以下错误:** (UndefinedFunctionError) undefined function KV.Bucket.start_link/0 (module KV.Bucket is not available) 我漏掉了什么吗?

1个回答

16

原来,该模块必须使用 .ex 扩展名而不是 .exs,您需要运行 mix compile 来编译新模块。之后,mix test 就能找到该模块,一切都会如预期一样工作。


2
同样的错误,但我的错误是将 bucket.ex 放在 test 目录中而不是 kv/lib/kv/ 目录中(我必须创建该目录)。 $ mix test 将负责编译 lib/ 文件。 - 7stud

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接