1

我使用 Phoenix + ExUnit 进行测试。

我有一些ExUnit.Case文件喜欢DataCase, ConnCase...为 my 定义测试助手Models, Controllers...,但是如果我需要定义一个全局助手,它可以从我的所有测试中访问,我应该在哪里定义它?

4

1 回答 1

6

如果这只是一个助手的问题,请将其放入您的test/test_helper.exs.

但随着项目的发展,管理变得越来越困难。常见的方法是创建文件夹,并通过以下方式test/support修改您的:mix.exs

  1. 像这样创建一个私有函数:
defp elixirc_paths(:test), do: ["lib", "test/support"]
defp elixirc_paths(_), do: ["lib"]
  1. 修改您的Mix.Project.project/0回调以包含以下键/值对:
elixirc_paths: elixirc_paths(Mix.env())
  1. 将所有包含test环境所需模块的文件作为文件放在那里*.ex

这样,所有这些都将test在所有其他环境中编译并丢弃。

于 2019-11-17T15:39:00.357 回答