我有一个使用 redis 进行数据存储的 phoenix Web 应用程序。我的配置文件夹包含以下文件:
配置文件
config :exredis,
url: System.get_env("REDIS_URL") || "redis://redis:6379/0",
Run Code Online (Sandbox Code Playgroud)
测试文件
config :exredis,
url: "redis://redis:6379/1"
Run Code Online (Sandbox Code Playgroud)
当我使用控制台从控制台运行测试时
mix test test/my_test.ex
Run Code Online (Sandbox Code Playgroud)
使用 redis 的生产实例而不是测试实例。
我可以通过运行让它工作
REDIS_URL="redis://redis:6379/1" mix test test/my_test.exs
Run Code Online (Sandbox Code Playgroud)
但是如何强制它自动使用测试配置?
我使用mix test test/my_test.exs.
如评论中所述,您已在下面添加了该代码import_config "#{Mix.env}.exs"。
import_config "#{Mix.env}.exs"必须保持在底部config.exs,否则test.exs不能覆盖任何配置设置config.exs,因为它会被后置的配置之前评估import_config "#{Mix.env}.exs"。
| 归档时间: |
|
| 查看次数: |
1088 次 |
| 最近记录: |