Skip to content
vic

vic/setup_tag

Use tags to mix and match your exunit test context

vic/setup_tag.json
{
"defaultBranch": "master",
"description": "Use tags to mix and match your exunit test context",
"fullName": "vic/setup_tag",
"homepage": "",
"language": "Elixir",
"name": "setup_tag",
"pushedAt": "2016-06-15T20:26:31Z",
"stargazersCount": 2,
"updatedAt": "2021-01-18T12:34:26Z",
"url": "https://github.com/vic/setup_tag"
}

SetupTag allows you to create a test context by easily mix and match test setup functions selected by the tags applied to your test or module.

Deprecated since elixir 1.0.3.rc-1 has setup in exunit core.

Available in Hex, the package can be installed as:

  1. Add setup_tag to your list of dependencies in mix.exs:

    def deps do [{:setup_tag, ”~> 0.1.2”, only: [:test}] end

See setup_tag_text.exs for a complete example

defmodule SetupTagTest do
use ExUnit.Case
use SetupTag
def one(ctx), do: {:ok, Map.put(ctx, :one, 1)}
def dup_one(ctx = %{one: x}), do: {:ok, %{ctx | one: x + x }}
def mul_one(ctx = %{one: x}, y), do: {:ok, %{ctx | one: x * y }}
@tag setup: [:one, :dup_one, mul_one: 3]
test "combining with a function with arguments", %{one: x} do
assert x == 6
end
end