tonymtz / node-codacy-coverage

Code Coverage reporter for Codacy

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Node Codacy Coverage

Credits to David for creating this! Codacy support for Node.js. Get coverage reporting and code analysis for Node.js from Codacy.

Build Status npm npm Codacy Codacy David David David

Installation:

Add the latest version of codacy-coverage to your package.json:

npm install codacy-coverage --save

If you're using mocha, add mocha-lcov-reporter to your package.json:

npm install mocha-lcov-reporter --save

Usage:

This script ( bin/codacy-coverage.js ) can take standard input from any tool that emits the lcov data format (including mocha's LCov reporter) and send it to Codacy to report your code coverage there.

Once your app is instrumented for coverage, and building, you need to pipe the lcov output to ./node_modules/.bin/codacy-coverage.

You'll need to provide the Report token from Codacy via an environment variable:

  • CODACY_PROJECT_TOKEN (the secret repo token from Codacy.com)

Note: You should keep your API token well protected, as it grants owner permissions to your projects.

Enterprise

To send coverage in the enterprise version you should specify your Codacy installation URL:

codacy-coverage -e <YOUR-URL>:16006

Mocha + Blanket.js

  • Install blanket.js
  • Configure blanket according to docs.
  • Run your tests with a command like this:
NODE_ENV=test YOURPACKAGE_COVERAGE=1 ./node_modules/.bin/mocha \
  --require blanket \
  --reporter mocha-lcov-reporter | ./node_modules/.bin/codacy-coverage

Mocha + JSCoverage

Instrumenting your app for coverage is probably harder than it needs to be (read here), but that's also a necessary step.

In mocha, if you've got your code instrumented for coverage, the command for a travis build would look something like this:

YOURPACKAGE_COVERAGE=1 ./node_modules/.bin/mocha test -R mocha-lcov-reporter | ./node_modules/.bin/codacy-coverage

Istanbul

With Mocha:

istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/.bin/codacy-coverage && rm -rf ./coverage

With Jasmine:

istanbul cover jasmine-node --captureExceptions spec/ && cat ./coverage/lcov.info | ./node_modules/.bin/codacy-coverage && rm -rf ./coverage

Grunt

Poncho

Client-side JS code coverage using PhantomJS, Mocha and Blanket:

  • Configure Mocha for browser
  • Mark target script(s) with data-cover html-attribute
  • Run your tests with a command like this:
./node_modules/.bin/poncho -R lcov test/test.html | ./node_modules/.bin/codacy-coverage

gulp

Custom Language (Typescript, Coffeescript)

  • Pass an extra parameter to the codacy-coverage reporter --language typescript or --language coffeescript.
  • If you have multiple language you need to invoke the reporter once for each of them.

Troubleshooting

The paths in your coverage file should be relative, if you are having problems with absolute paths, you can run our plugin with -p . to strip the current path from the paths in your coverage file:

cat ./coverage/lcov.info | node_modules/.bin/codacy-coverage -p .

To send coverage in the enterprise version you should specify your Codacy installation URL followed by the port 16006 using the -e option, example:

cat ./coverage/lcov.info | node_modules/.bin/codacy-coverage -e <YOUR-URL>:16006

License

MIT

What is Codacy?

Codacy is an Automated Code Review Tool that monitors your technical debt, helps you improve your code quality, teaches best practices to your developers, and helps you save time in Code Reviews.

Among Codacy’s features:

  • Identify new Static Analysis issues
  • Commit and Pull Request Analysis with GitHub, BitBucket/Stash, GitLab (and also direct git repositories)
  • Auto-comments on Commits and Pull Requests
  • Integrations with Slack, HipChat, Jira, YouTrack
  • Track issues Code Style, Security, Error Proneness, Performance, Unused Code and other categories

Codacy also helps keep track of Code Coverage, Code Duplication, and Code Complexity.

Codacy supports PHP, Python, Ruby, Java, JavaScript, and Scala, among others.

Free for Open Source

Codacy is free for Open Source projects.

About

Code Coverage reporter for Codacy

License:MIT License


Languages

Language:JavaScript 100.0%