我的应用程序回调启动与单元测试冲突的Supervisor。
有了该回调,{:error, {:already_started, #PID<0.258.0>}}
由于我的进程已经启动,因此我得到了类似的尝试运行单元测试的信息。
我可以仅对:dev
和执行应用程序回调:prod
,保持:test
环境清洁启动代码吗?
我正在寻找这样的东西:
def application do
[
applications: [:logger],
mod: {MyApplication, [], only: [:dev, :prod]}
]
only: [:dev, :prod]
-这是一块丢失的东西
我不知道在这种情况下这是否是处理测试的正确方法,但是您可以按照以下方式进行所需的操作:
在mix.exs
:
def application do
rest = if(Mix.env == :test, do: [], else: [mod: {MyApp, []}])
[applications: [:logger]] ++ rest
end
对于下面的演示,我将以下内容添加到MyApp.start/2
:
IO.puts "starting app..."
演示:
$ MIX_ENV=dev mix
starting app...
$ MIX_ENV=prod mix
starting app...
$ MIX_ENV=test mix # no output
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句