ExUnit.CaseTemplate (ExUnit v1.11.1) View Source

Defines a module template to be used throughout your test suite.

This is useful when there are a set of setup callbacks or a set of functions that should be shared between test modules.

Once a case template is used, the regular functionality in ExUnit.Case plus the functionality defined in the template will become available.

Example

defmodule MyCase do
  use ExUnit.CaseTemplate

  setup do
    IO.puts("This will run before each test that uses this case")
  end
end

defmodule MyTest do
  use MyCase, async: true

  test "truth" do
    assert true
  end
end

Link to this section Summary

Functions

Allows a developer to customize the using block when the case template is used.

Link to this section Functions

Link to this macro

using(var \\ quote do _ end, list)

View Source (macro)

Allows a developer to customize the using block when the case template is used.

Example

defmodule MyCase do
  use ExUnit.CaseTemplate

  using do
    quote do
      # This code is injected into every case that calls "use MyCase"
      alias MyApp.FunModule
    end
  end
end