Skip to content

Latest commit

 

History

History
92 lines (60 loc) · 2.94 KB

README.md

File metadata and controls

92 lines (60 loc) · 2.94 KB

ExUnit 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.

Installation

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

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]
ExUnit.start

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, 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.