我使用 Phoenix + ExUnit 进行测试。
我有一些ExUnit.Case
文件喜欢DataCase, ConnCase...
为 my 定义测试助手Models, Controllers...
,但是如果我需要定义一个全局助手,它可以从我的所有测试中访问,我应该在哪里定义它?
我使用 Phoenix + ExUnit 进行测试。
我有一些ExUnit.Case
文件喜欢DataCase, ConnCase...
为 my 定义测试助手Models, Controllers...
,但是如果我需要定义一个全局助手,它可以从我的所有测试中访问,我应该在哪里定义它?
如果这只是一个助手的问题,请将其放入您的test/test_helper.exs
.
但随着项目的发展,管理变得越来越困难。常见的方法是创建文件夹,并通过以下方式test/support
修改您的:mix.exs
defp elixirc_paths(:test), do: ["lib", "test/support"]
defp elixirc_paths(_), do: ["lib"]
Mix.Project.project/0
回调以包含以下键/值对:elixirc_paths: elixirc_paths(Mix.env())
test
环境所需模块的文件作为文件放在那里*.ex
。这样,所有这些都将test
在所有其他环境中编译并丢弃。