DEV Community

Discussion on: Execute and Watch Elixir tests from iex.

Collapse
alexandremcosta profile image
Alexandre Marangoni Costa

Nice tip! Any idea on how to make Mix.Tasks.Test.run([]) to work on umbrella projects? Mine always output There are no tests to run

Collapse
marciol profile image
Marcio Lopes de Faria Author

I need to figure out, but I think that must be simple.

Collapse
alexandremcosta profile image
Alexandre Marangoni Costa • Edited on

For some reason, I also can't import IExWatchTests.Helpers from .iex.exs

$ ELIXIR_ERL_OPTIONS="-pa $HOME/.iex" MIX_ENV=test iex -S mix
Erlang/OTP 24 [erts-12.0.2] [source] [64-bit] [smp:12:12] [ds:12:12:10] [async-threads:1] [jit]
Interactive Elixir (1.12.1) - press Ctrl+C to exit (type h() ENTER for help)
Error while evaluating: /Users/xxx/.iex.exs
** (CompileError) /Users/xxx/.iex.exs:11: module IExWatchTests.Helpers is not loaded and could not be found
Enter fullscreen mode Exit fullscreen mode

But if I comment this line and run it from iex, it works!

Thread Thread
marciol profile image
Marcio Lopes de Faria Author

Yes, I wrote another post explaining why I concluded that this approach is less than ideal, because there is a lot of limitation on what you can do in .iex.exs. For example, there is a IEx.Helpers.import_if_available/2 to deal with it.