assertions

Helpful functions with great error messages to help you write better tests.


License
MIT

Documentation

Assertions Hex Version Build Status

Installation

Add assertions to your list of dependencies in mix.exs:

def deps do
  [{:assertions, "~> 0.5", only: :test}]
end

Usage

Importing

If you only want some assertions in a given module, all assertions are available for importing into any test you want.

def MyApp.UserTest do
  use ExUnit.Case, async: true

  import Assertions, only: [lists_equal?: 2]

  # ...
end

Because some assertions are macros, you may need to require the module before importing.

def MyApp.UserTest do
  use ExUnit.Case, async: true

  require Assertions
  import Assertions, only: [receive_only?: 1]

  # ...
end

Importing assertions in a common test case (like MyApp.DataCase in a Phoenix application) is a common pattern and highly recommended.

Assertions.Case

If you want to have all assertions available to you by default, you can use the provided Assertions.Case macro. This is a very small wrapper around ExUnit.Case, and imports all assertions for your use.

def MyApp.UserTest do
  use Assertions.Case, async: true

  # ...
end