I\'m trying to launch IEx.pry within a test. However I cannot get to run the tests within an iex session. Note that I\'m not using mix.
ExUnit.start
alias ExUnit.Assertions
require Assertions
Assertions.assert 1==1
true
According to the ExUnit documentation, ExUnit.run/0 should only be used if you don't want to autostart your tests when you call ExUnit.start/1.
You always have to call ExUnit.start() which would automatically run all the tests unless you pass autorun: false.
I am assuming you are not using mix. You need to load the test cases to the ExUnit server before running them.
Before Elixir v1.6 you would load the tests like this:
ExUnit.Server.cases_loaded()
And after Elixir v1.6 you would load them like this (thanks to @jeffreymatthias):
ExUnit.Server.modules_loaded()
So the code you should write in iex should be:
ExUnit.start()
defmodule Calc do
def add(a,b) do
a + b
end
end
defmodule TheTest do
use ExUnit.Case
test "adds two numbers" do
require IEx
IEx.pry()
assert Calc.add(1, 2) == 3
end
end
ExUnit.Server.modules_loaded() # Or ExUnit.Server.cases_loaded()
ExUnit.run()
I hope this helps.