grunt-testem

A grunt plugin for testem.

grunt-testem

Execute testem with Continuous Integration Mode then generate TAP file as test results.

This plugin requires Grunt ~0.4.0

If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:

npm install -g testem grunt-cli
npm install grunt-testem --save-dev

One the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:

grunt.loadNpmTasks('grunt-testem');

In your project's Gruntfile, add a section named testem to the data object passed into grunt.initConfig().

grunt.initConfig({
  'testem': {
    options : {
      launch_in_ci : [
        'firefox',
        'safari'
      ]
    },
    main : {
      src: [ 'examples/*.html' ],
      dest: 'tests.tap'
    }
  }
});

src property be able to set test_page html path as testem option or testem.json path

TAP file path

See also Configuration File

It also accepts:

  • output.coverage that is the folder path where coverage reports are written.
grunt.initConfig({
  'testem': {
    options : {
      output: {
        coverage : 'coverage-results/'
      }
    },
    main : {
      src: [ 'examples/*.html' ],
      dest: 'tests.tap'
    }
  }
});

Source files must be instrumented before running tests. An example on how to do it in grunt is available inside examples/coverage.

  • options.bailOut if true, when a test fails, all remaining tests won't run (default false)
grunt.initConfig({
  'testem': {
    options : {
      bailOut: true
    },
    main : {
      src: [ 'examples/*.html' ],
      dest: 'tests.tap'
    }
  }
});

This option speeds up the test execution in case of errors.