0.1.2 • Published 7 years ago

karma-notification-reporter v0.1.2

Weekly downloads
553
License
MIT
Repository
github
Last release
7 years ago

karma-notification-reporter

Reporter using Mac OS 10.8+ Notification Center and Ubuntu to display results.

image

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

  1. Install Karma and karma-notification-reporter plugin.

    a. Globally. System-wide with karma available on command line.

    npm install -g karma
    npm install -g karma-notification-reporter

    b. Locally to your project (preferred). Simply run:

    npm install karma --save-dev
    npm install karma-notification-reporter --save-dev

    or add the dependencies to package.json manually and run npm install:

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

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