README.md

# Multiverses

## Multiverses for Elixir.

Don't let Mox, Ecto, Hound and Wallaby have ALL the fun!

Wubba dubba lub lub!

## Usage

add a line into the configuration (typically `test.exs`):

If you'd like to drop in multiverse sharding for registry

```elixir
# config.exs
config :my_app, Registry, Registry
```

```elixir
# test.exs
config :my_app, Registry, Multiverses.Registry
```


```elixir
defmodule MyModule do
  @registry Application.config_env!(:my_app, Registry)

  def my_function(...) do
    # uses Multiverses.Registry when enabled.
    @registry.unregister(...)
  end
end
```

## Testing

you can activate multiple copies of all the tests by passing the
`REPLICATION` system environment variable:

```bash
REPLICATION=10 mix test
```

will copy the test modules 10 times over, so multiple versions of the
same module could possibly run simultaneously.

## Installation

The package can be installed
by adding `multiverses` to your list of dependencies in `mix.exs`:

```elixir
def deps do
  [
    {:multiverses, "~> 0.8.1", runtime: (Mix.env() == :test)}
  ]
end
```

Documentation can be found at [https://hexdocs.pm/multiverses](https://hexdocs.pm/multiverses).