/ex_parameterized

This library support parameterized test with test_with_params macro.

Primary LanguageElixirMIT LicenseMIT

ExParameterized

Elixir CI

This no longer works with Elixir 1.15 right now.

Description

This library support parameterized test with test_with_params macro.

Support

  • test macro provided by ExUnit.Case and ExUnit.CaseTemplate
  • Callback like setup provided by ExUnit.Callback

Demo

Clone this repository and run test with mix test. You can see some example in test/ex_parameterized_*.exs

Usage

Please see module docs.

Install

First, add Reporter to your mix.exs dependencies:

def deps do
  [
    {:ex_parameterized, "~> 1.3.7"}
  ]
end

and run $ mix deps.get.

QuickUse

Should set use ExUnit.Parameterized in module.

defmodule MyExampleTest do
  use ExUnit.Case, async: true
  use ExUnit.Parameterized        # Required

  test_with_params "add params",  # description
    fn (a, b, expected) ->        # test case
      assert a + b == expected
    end do
      [
        {1, 2, 3},                 # parameters
        "description": {1, 4, 5},  # parameters with description
      ]
  end
end

Licence

MIT