meilke/grunt-nunit-opencover

View on GitHub
README.md

Summary

Maintainability
Test Coverage
[![Build Status](https://api.travis-ci.org/meilke/grunt-nunit-opencover.png)](https://travis-ci.org/meilke/grunt-nunit-opencover)
[![Built with Grunt](https://cdn.gruntjs.com/builtwith.png)](http://gruntjs.com/)
[![NPM version](https://badge.fury.io/js/grunt-nunit-opencover.svg)](http://badge.fury.io/js/grunt-nunit-opencover)  
[![Code Climate](https://codeclimate.com/github/meilke/grunt-nunit-opencover/badges/gpa.svg)](https://codeclimate.com/github/meilke/grunt-nunit-opencover)
[![Test Coverage](https://codeclimate.com/github/meilke/grunt-nunit-opencover/badges/coverage.svg)](https://codeclimate.com/github/meilke/grunt-nunit-opencover/coverage)
[![Dependency Status](https://david-dm.org/meilke/grunt-nunit-opencover.svg)](https://david-dm.org/meilke/grunt-nunit-opencover)
[![devDependency Status](https://david-dm.org/meilke/grunt-nunit-opencover/dev-status.svg)](https://david-dm.org/meilke/grunt-nunit-opencover#info=devDependencies)  
[![forthebadge](http://forthebadge.com/images/badges/uses-badges.svg)](http://forthebadge.com)


# grunt-nunit-opencover 

Grunt plugin for running [NUnit](http://www.nunit.org/) through the eyes of [OpenCover](https://github.com/OpenCover/opencover).

## Getting Started
From the same directory as your project's Gruntfile and package.json, install
this plugin with the following command:

```bash
$ npm install grunt-nunit-opencover --save-dev
```

Next add this line to your project's Gruntfile:

```js
grunt.loadNpmTasks('grunt-nunit-opencover');
```

## Config
Inside your `Gruntfile.js` file, add a section named `nunit`, containing
the test runner configuration:

```js
nunitopencover: {
    test: {
        // Can be solutions, projects or individual assemblies. Solutions
        // are searched for projects referencing nunit.framework.dll.
        files: {
            src: [
                'src/MySolution.sln',
                'src/Tests/Tests.csproj',
                'src/Tests/bin/Debug/Tests.dll'
            ]
        },

        // Runs NUnit through OpenCover.
        cover: true,

        // OpenCover result file path.
        coverReportFilePath: 'cover_results_nunit_unit.xml',

        // OpenCover filter.
        coverFilter: '+[*]* -[*.Tests]* -[Tests.Core]*',
        
        // OpenCover exclude attribute filter.
        coverExcludeAttributeFilter: '-*UnitAttribute*;-*IntegrationAttribute*'
    }
    options: {

        // The path to the NUnit bin folder. If not specified the bin
        // folder must be in the system path.
        path: 'c:/Program Files/NUnit/bin',

        // Runs the anycpu or x86 build of NUnit. Default is anycpu.
        // http://www.nunit.org/index.php?p=nunit-console&r=2.6.3
        platform: 'anycpu|x86',

        // Integrate test output with TeamCity.
        teamcity: true|false,

        // The options below map directly to the NUnit console runner. See here
        // for more info: http://www.nunit.org/index.php?p=consoleCommandLine&r=2.6.3

        // Name of the test case(s), fixture(s) or namespace(s) to run.
        run: ['TestSuite.Unit', 'TestSuite.Integration'],

        // Name of a file containing a list of the tests to run, one per line.
        runlist: 'TestsToRun.txt',

        // Project configuration (e.g.: Debug) to load.
        config: 'Debug',

        // Name of XML result file (Default: TestResult.xml)
        result: 'TestResult.xml',

        // Suppress XML result output.
        noresult: true|false,

        // File to receive test output.
        output: 'TestOutput.txt',

        // File to receive test error output.
        err: 'TestErrors.txt',

        // Work directory for output files.
        work: 'BuildArtifacts',

        // Label each test in stdOut.
        labels: true|false,

        // Set internal trace level.
        trace: 'Off|Error|Warning|Info|Verbose',

        // List of categories to include.
        include: ['BaseLine', 'Unit'],

        // List of categories to exclude.
        exclude: ['Database', 'Network'],

        // Framework version to be used for tests.
        framework: 'net-1.1',

        // Process model for tests.
        process: 'Single|Separate|Multiple',

        // AppDomain Usage for tests.
        domain: 'None|Single|Multiple',

        // Apartment for running tests (Default is MTA).
        apartment: 'MTA|STA',

        // Disable shadow copy when running in separate domain.
        noshadow: true|false,

        // Disable use of a separate thread for tests.
        nothread: true|false,

        // Base path to be used when loading the assemblies.
        basepath: 'src',

        // Additional directories to be probed when loading assemblies.
        privatebinpath: ['lib', 'bin'],

        // Set timeout for each test case in milliseconds.
        timeout: 1000,

        // Wait for input before closing console window.
        wait: true|false,

        // Do not display the logo.
        nologo: true|false,

        // Do not display progress.
        nodots: true|false,

        // Stop after the first test failure or error.
        stoponerror: true|false,

        // Erase any leftover cache files and exit.
        cleanup: true|false

    }
}
```

## License
MIT License