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

fay*_*fay 2 elixir-mix elixir

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

  def application do
    [mod: {MyApp, []},
     applications: [:phoenix]]   end

  defp deps do
    [{:phoenix, "~> 1.2.1"}] end
Run Code Online (Sandbox Code Playgroud)

我可以只为测试环境配置凤凰应用程序吗?

Nav*_*ris 5

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

如果您必须使用 1.4 之前的 elixir 版本,那么这样做的方法是在您的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]
Run Code Online (Sandbox Code Playgroud)