How to run ExUnit tests within IEx

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.

Tags:

Elixir

Ex Unit