Skip to content
vic

navinpeiris/ex_unit_notifier

Desktop notifications for ExUnit

navinpeiris/ex_unit_notifier.json
{
"createdAt": "2016-03-24T09:58:30Z",
"defaultBranch": "master",
"description": "Desktop notifications for ExUnit",
"fullName": "navinpeiris/ex_unit_notifier",
"homepage": "",
"language": "Elixir",
"name": "ex_unit_notifier",
"pushedAt": "2024-08-13T16:24:27Z",
"stargazersCount": 134,
"topics": [
"desktop-notifications",
"elixir",
"exunit",
"notifications"
],
"updatedAt": "2025-11-23T09:36:32Z",
"url": "https://github.com/navinpeiris/ex_unit_notifier"
}

Build Status Hex version Hex docs Hex downloads License Last Updated

screenshot

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:

Terminal window
$ mix deps.get

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

Otherwise, install current version via Homebrew:

Terminal window
$ brew install terminal-notifier

Install notify-send:

Terminal window
$ 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]!(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]!(./LICENSE.md).