W3cubDocs

/Elixir 1.6

ExUnit.CaseTemplate

This module allows a developer to define a test case template to be used throughout their tests. This is useful when there are a set of functions that should be shared between tests or a set of setup callbacks.

By using this module, the callbacks and assertions available for regular test cases will also be 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

Summary

Functions

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

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

Functions

using(var \\ quote() do _ end, list) (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

© 2012 Plataformatec
Licensed under the Apache License, Version 2.0.
https://hexdocs.pm/ex_unit/1.6.0/ExUnit.CaseTemplate.html