I have a problem when attempting to run a test inside of the VSCode (i.e. by clicking on a green triangle to the left of the test). The output I get in the debug window:
Started ElixirLS Debug Adapter v0.23.0
ElixirLS Debug Adapter built with elixir "1.17.2" on OTP "27"
Running on elixir "1.17.2 (compiled with Erlang/OTP 27)" on OTP "27"
Protocols are not consolidated
Starting debugger in directory: /home/ought/Coding/Elixir/sample_app
Running with MIX_ENV: test MIX_TARGET: host
Compiling 23 files (.ex)
error: module Plug.Builder is not loaded and could not be found. This may be happening because the module you are trying to load directly or indirectly depends on the current module
│
2 │ use Phoenix.Endpoint, otp_app: :sample_app
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
│
└─ lib/sample_app_web/endpoint.ex:2: SampleAppWeb.Endpoint (module)
== Compilation error in file lib/sample_app_web/endpoint.ex ==
** (CompileError) lib/sample_app_web/endpoint.ex: cannot compile module SampleAppWeb.Endpoint (errors have been logged)
(elixir 1.17.2) expanding macro: Kernel.use/2
lib/sample_app_web/endpoint.ex:2: SampleAppWeb.Endpoint (module)
(phoenix 1.7.14) expanding macro: Phoenix.Endpoint.__using__/1
lib/sample_app_web/endpoint.ex:2: SampleAppWeb.Endpoint (module)
(elixir 1.17.2) expanding macro: Kernel.use/2
This problem does not happen when I run the tests from the terminal window by mix test
- this way tests work normally.
My tasks are the default ones - i.e.:
{
"version": "0.2.0",
"configurations": [
{
"type": "mix_task",
"name": "mix (Default task)",
"request": "launch",
"projectDir": "${workspaceRoot}"
},
{
"type": "mix_task",
"name": "mix test",
"request": "launch",
"task": "test",
"taskArgs": [
"--trace"
],
"startApps": true,
"projectDir": "${workspaceRoot}",
"requireFiles": [
"test/**/test_helper.exs",
"test/**/*_test.exs"
]
}
]
}
The repository of my simple project is here: https://github.com/StragaSevera/sample_app . The extension that I use is ElixirLS.
Is there any way to make this feature (running tests in IDE) work? It’s a dealbreaker for me =-)