First of all, I am a complete noob when it comes to Elixir, so the answer to this might be super basic but I need some help here!
I have an application with a supervision tree. In this tree there is a websocket client that will try to connect to a server when created. All good here, but the problem comes when I run mix test.
Running mix test apparently runs the supervision tree of my app and, obviously, my websocket client fails to connect to a server and triggers many errors.
Surprisingly my tests pass and mix test considers it a successful run, but I don’t because I don’t want all those error logs popping up on my CI!
The thing is, I don’t need this websocket client running tu run my tests. Any ideas what can I do here? And most important, why does the supervision tree starts on mix test?
You can see that in action with phoenix, which starts the TCP parts of an endpoint only if configured to do so using config :my_app, MyAppWeb.Endpoint, server: true. mix phx.server is just a mix task enabling that config before starting the application. If the config is missing the “server” won’t be started.