Show desktop notifications for ExUnit runs. Works very well with automatic test runners such as mix-test.watch. (Yes, TDD is awesome!)
Currently notifications on OS X and Linux are supported.
First, add ExUnitNotifier
to your mix.exs
dependencies:
def deps do
[
{:ex_unit_notifier, "~> 1.3", only: :test}
]
end
Then, update your dependencies:
$ mix deps.get
Follow installation instruction of terminal-notifier
if you need to install a particular version.
Otherwise, install current version via Homebrew:
$ brew install terminal-notifier
Install notify-send
:
$ sudo apt install libnotify-bin
Add ExUnitNotifier
to your ExUnit
configuration in test/test_helper.exs
file.
ExUnit.configure formatters: [ExUnit.CLIFormatter, ExUnitNotifier]
ExUnit.start
Now run mix test
and you'll see notifications popping up :)
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, or you can write your own.
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 (c) 2016 Navin Peiris
Source code is released under the MIT license.