Elixir app测试配置

时间:2017-06-30 11:25:50

标签: elixir

我有一个使用redis进行数据存储的凤凰网络应用程序。我的配置文件夹包含以下文件:

config.exs

config :exredis,
  url: System.get_env("REDIS_URL") || "redis://redis:6379/0",

test.exs

config :exredis,
  url: "redis://redis:6379/1"

当我使用

从控制台运行测试时
mix test test/my_test.ex

使用redis的生产实例而不是测试实例。

我可以通过运行

使其工作
REDIS_URL="redis://redis:6379/1" mix test test/my_test.exs

但是如何强制它自动使用测试配置?

我使用mix test test/my_test.exs从控制台运行测试。

1 个答案:

答案 0 :(得分:4)

正如评论中所阐明的那样,您已在import_config "#{Mix.env}.exs"下面添加了该代码。

import_config "#{Mix.env}.exs"必须保留在config.exs的底部,否则test.exs无法覆盖config.exs中的任何配置集,因为它会在配置之前进行评估在import_config "#{Mix.env}.exs"之后设置。