Elixir ExUnit测试与自定义依赖环境

Elixir ExUnit测试与自定义依赖环境,elixir,ex-unit,Elixir,Ex Unit,我有一个项目a,它也依赖于我创建的依赖项B 当我想用一个简单的混合测试在A上启动测试时,它将获取依赖项B,编译它并在:prod环境中启动它 这意味着A在:test环境中,B在:prod环境中 我想让测试在:dev环境(或除:prod以外的任何其他环境)中启动依赖项,有没有办法做到这一点?也许您的混合环境是产品,而混合测试不会将其更改为测试。 请明确尝试: MIX_ENV=test mix test and for dev MIX_ENV=dev mix test 实际上,问题不在这里,我没

我有一个项目a,它也依赖于我创建的依赖项B

当我想用一个简单的
混合测试在A上启动测试时,它将获取依赖项B,编译它并在
:prod
环境中启动它

这意味着A在
:test
环境中,B在
:prod
环境中


我想让测试在
:dev
环境(或除
:prod
以外的任何其他环境)中启动依赖项,有没有办法做到这一点?

也许您的
混合环境是
产品
,而
混合测试
不会将其更改为
测试
。
请明确尝试:

MIX_ENV=test mix test

and for dev

MIX_ENV=dev mix test

实际上,问题不在这里,我没有设置MIX_ENV ENV变量。但是你指出我的错误,Mix.env是在编译时而不是运行时使用的。不幸的是,我不能接受这个答案,因为它是。。。编辑它,以便指出编译时Mix.env(in:prod)和运行时Mix.env之间的差异,我将:-)“我没有设置Mix_env env变量”-您总是这样做。如果您没有明确设置它,
mix
已经为您完成了它。@mudasobwa:我的意思是我没有
export mix\u ENV=prod
。。。当然,这种混合方式对您有好处,但我不会滥收费用……尽管这里看起来有些过分,但您可能会在请求的环境中引入并委托编译
B
项目。这样,本地的项目
B
将始终在与当前的
A
相同的环境中编译。