# ExUnit Notifier

[![Build Status](](
[![Hex version]( "Hex version")](
[![Hex docs](](
[![Hex downloads]( "Hex downloads")](
[![Last Updated](](


Show desktop notifications for ExUnit runs. Works very well with automatic test runners such as []( (Yes, TDD is awesome!)

Currently notifications on OS X and Linux are supported.

## Installation

First, add `ExUnitNotifier` to your `mix.exs` dependencies:

def deps do
    {:ex_unit_notifier, "~> 1.3", only: :test}

Then, update your dependencies:

$ mix deps.get

### For macOS

Follow [installation instruction]( of `terminal-notifier` if you need to install a particular version.

Otherwise, install current version via Homebrew:

$ brew install terminal-notifier

### For GNU/Linux

Install `notify-send`:

$ sudo apt install libnotify-bin

## Usage

Add `ExUnitNotifier` to your `ExUnit` configuration in `test/test_helper.exs` file.

ExUnit.configure formatters: [ExUnit.CLIFormatter, ExUnitNotifier]

Now run `mix test` and you'll see notifications popping up :)

## Notification Types

Notifications will be sent from the first available notifier that is deemed available in the order specified below:

- terminal-notifier (ExUnitNotifier.Notifiers.TerminalNotifier)
- notify-send (ExUnitNotifier.Notifiers.NotifySend)
- tmux (ExUnitNotifier.Notifiers.TmuxNotifier)
- Terminal Title if non of the above match (ExUnitNotifier.Notifiers.TerminalTitle)

To force a specific type of notifier to be used, specify the notifier using the following configuration:

config :ex_unit_notifier, notifier: ExUnitNotifier.Notifiers.TerminalNotifier

You can use one of the available notifiers found in [lib/ex_unit_notifier/notifiers](lib/ex_unit_notifier/notifiers), or you can write your own.

## Notification Options

For `notify-send` users, it is possible to clear the notifications from notifications center history using the following configuration, defaults to `false`:

config :ex_unit_notifier, clear_history: true

### Copyright and License

Copyright (c) 2016 Navin Peiris

Source code is released under [the MIT license](./