gpt4 book ai didi

testing - 如何在不同于 lib (Elixir) 的路径中加载文件

转载 作者:行者123 更新时间:2023-11-28 19:48:03 30 4
gpt4 key购买 nike

我试图在测试中使用助手来完成任务。我的文件夹结构是这样的:

config/
lib/
test/
test/test_helper.exs
test/provider_test/(the test files are here)

现在我想做的就是这个

config/
lib/
test/
test/test_helper.exs
test/provider_test/(the test files are here)
test/provider_test/helpers/(the helpers files... more or less, one for helper)

我尝试使用这个(在测试中):

HelperModuler.calling_function(args)

但是我得到这个错误:

 (UndefinedFunctionError) undefined function HelperModuler.calling_function/1 (module HelperModuler is not available)

最佳答案

要使模块在所有测试中可用,您需要做两件事:

  1. 将其放入扩展名为 .ex 的文件中。
  2. 将包含该文件的文件夹添加到 mix.exsMyApp.Mixfile.project/0 返回值的 elixirc_paths 键.

例如,下面是 Phoenix 如何在 mix.exs 中为 :test Mix env 添加 test/support:

def project do
[...,
elixirc_paths: elixirc_paths(Mix.env),
...]
end

# Specifies which paths to compile per environment.
defp elixirc_paths(:test), do: ["lib", "web", "test/support"]
defp elixirc_paths(_), do: ["lib", "web"]

关于testing - 如何在不同于 lib (Elixir) 的路径中加载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39146331/

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