karma-notification-reporter
v0.1.2
Published
A Karma plugin. Report results with OSX Notification Center or Libnotify.
Downloads
182
Maintainers
Readme
karma-notification-reporter
Reporter using Mac OS 10.8+ Notification Center and Ubuntu to display results.
Based on petrbela's karma-osx-reporter and crabhi's karma-ubuntu-reporter This gets both work under the same plugin so you can use either on Mac or Ubuntu.
Only works with Karma 0.9 or later which enables custom plugins.
For more information on Karma see the [homepage].
Installation
- Install Karma and karma-notification-reporter plugin.
a. Globally. System-wide with karma
available on command line.
```sh
npm install -g karma
npm install -g karma-notification-reporter
```
b. Locally to your project (preferred). Simply run:
```sh
npm install karma --save-dev
npm install karma-notification-reporter --save-dev
```
or add the dependencies to `package.json` manually and run `npm install`:
```js
"devDependencies": {
"karma": ">=0.9",
"karma-notification-reporter": "*"
}
```
If you install locally, you'll need to run Karma using `node_modules/karma/bin/karma`.
In any case, the plugin needs to be installed as a peer dependency to Karma (i.e. in the sibling folder). This just means you cannot use global Karma with local plugins or vice-versa.
- Add it as a reporter in the config file
reporters: ['progress', 'notification']
or pass through the command line
$ karma start --reporters=progress,notification karma.conf.js
Configuration
OSX Notifier runs on localhost:1337 by default. If you need to change that, simply override it in the config.
config.set({
...
osxReporter: {
host: "localhost",
port: 1337
}
...
});
Any additional parameter will be passed to node-osx-notifier. Check the documentation for details. Some examples:
config.set({
osxReporter: {
activate: 'com.apple.Terminal',
open: 'http://google.com',
execute: 'open .'
}
});
To decide dynamically what to pass into these options, define them as functions:
config.set({
osxReporter: {
activate: function(results, browser) {
return results.failed > 0 ? 'com.apple.Terminal' : 'com.apple.Safari';
}
}
});
License
MIT License