将应用程序配置为仅在测试环境中加载



如何将应用程序配置为仅在特定环境中在运行时加载?我知道我只能为测试环境配置依赖项。
有没有办法将mix.exs中的应用程序配置为仅在测试环境中加载?
例如:

  def application do
    [mod: {MyApp, []},
     applications: [:phoenix]]   end
  defp deps do
    [{:phoenix, "~> 1.2.1"}] end

是否可以仅为测试环境配置凤凰应用程序?

正如评论中@JustinWood所述,如果您使用的是 elixir 1.4,您可以使用应用程序推理自动为您执行此操作。

如果您必须在 1.4 之前使用长生不老药的版本,那么执行此操作的方法是在mix.exs中包含类似于以下内容的内容:

def application do
  [
    mod: {MyApp, []},
    applications: applications(Mix.env)
  ]
end
defp applications(:test), do: applications(:default) ++ [:test_only_app_1, :test_only_app_2]
defp applications(_),     do: [:logger, :httpoison]

最新更新