All Projects → nickmerwin → Node Coveralls

nickmerwin / Node Coveralls

Licence: other
lcov posting to coveralls.io

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Node Coveralls

Teaspoon
Teaspoon: Javascript test runner for Rails. Use Selenium, BrowserStack, or PhantomJS.
Stars: ✭ 1,443 (+40.92%)
Mutual labels:  coverage, mocha
React Base
atSistemas React/Redux Isomorphic Platform
Stars: ✭ 82 (-91.99%)
Mutual labels:  coverage, mocha
Karma Webpack Example
Karma + Webpack + Mocha + Chai + Istanbul
Stars: ✭ 88 (-91.41%)
Mutual labels:  coverage, mocha
Express Mongoose Es6 Rest Api
💥 A boilerplate application for building RESTful APIs Microservice in Node.js using express and mongoose in ES6 with code coverage and JsonWebToken Authentication
Stars: ✭ 2,811 (+174.51%)
Mutual labels:  coverage, mocha
floss
Unit-testing for those hard to reach places
Stars: ✭ 26 (-97.46%)
Mutual labels:  coverage, mocha
torchjs
Test framework to light up the world.
Stars: ✭ 40 (-96.09%)
Mutual labels:  coverage, mocha
react-testing-mocha-chai-enzyme
A solid test setup for React components with Mocha, Chai, Sinon, Enzyme in a Webpack/Babel application.
Stars: ✭ 48 (-95.31%)
Mutual labels:  coverage, mocha
Mochify.js
☕️ TDD with Browserify, Mocha, Headless Chrome and WebDriver
Stars: ✭ 338 (-66.99%)
Mutual labels:  coverage, mocha
Golang Ci Template Github Actions
example for golang project using github actions
Stars: ✭ 24 (-97.66%)
Mutual labels:  coverage
Jobsort
job board that queries hacker news who is hiring job listings from a database and sorts by tech the user knows and how well the user knows them
Stars: ✭ 20 (-98.05%)
Mutual labels:  mocha
Cargo Make
Rust task runner and build tool.
Stars: ✭ 895 (-12.6%)
Mutual labels:  coverage
Cyr2lat
Converts Cyrillic characters in post, page and term slugs to Latin characters. Useful for creating human-readable URLs.
Stars: ✭ 25 (-97.56%)
Mutual labels:  coverage
Chakram
REST API test framework. BDD and exploits promises
Stars: ✭ 912 (-10.94%)
Mutual labels:  mocha
Helm Test
A mocha based testing CLI for helm packages
Stars: ✭ 22 (-97.85%)
Mutual labels:  mocha
Wdio Mocha Framework
A WebdriverIO v4 plugin. Adapter for Mocha testing framework.
Stars: ✭ 39 (-96.19%)
Mutual labels:  mocha
Calc
Unit Testing in JavaScript
Stars: ✭ 17 (-98.34%)
Mutual labels:  mocha
Xcodecoverage
Code coverage for Xcode projects (Objective-C only)
Stars: ✭ 818 (-20.12%)
Mutual labels:  coverage
Should Enzyme
Useful functions for testing React Components with Enzyme.
Stars: ✭ 41 (-96%)
Mutual labels:  mocha
Arc Xcode Test Engine
An Xcode test engine for use with Phabricator's arc command line tool.
Stars: ✭ 31 (-96.97%)
Mutual labels:  coverage
Coverme
Code coverage for Haxe
Stars: ✭ 11 (-98.93%)
Mutual labels:  coverage

node-coveralls

Build Status Coverage Status

Coveralls.io support for Node.js. Get the great coverage reporting of coveralls.io and add a cool coverage button (like the one above) to your README.

Supported CI services:

Installation:

Add the latest version of coveralls to your package.json:

npm install coveralls --save-dev

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

npm install mocha-lcov-reporter --save-dev

Usage:

This script bin/coveralls.js can take standard input from any tool that emits the lcov data format (including mocha's LCOV reporter) and send it to coveralls.io 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/coveralls/bin/coveralls.js.

This library currently supports Travis CI with no extra effort beyond piping the lcov output to coveralls. However, if you're using a different build system, there are a few necessary environment variables:

  • COVERALLS_SERVICE_NAME (the name of your build system)
  • COVERALLS_REPO_TOKEN (the secret repo token from coveralls.io)
  • COVERALLS_GIT_BRANCH (the branch name)

There are optional environment variables for other build systems as well:

  • COVERALLS_FLAG_NAME (a flag name to differentiate jobs, e.g. Unit, Functional, Integration)
  • COVERALLS_SERVICE_NUMBER (a number that uniquely identifies the build)
  • COVERALLS_SERVICE_JOB_ID (an ID that uniquely identifies the build's job)
  • COVERALLS_SERVICE_JOB_NUMBER (a number that uniquely identifies the build's job)
  • COVERALLS_RUN_AT (a date string for the time that the job ran. RFC 3339 dates work. This defaults to your build system's date/time if you don't set it)
  • COVERALLS_PARALLEL (set to true when running jobs in parallel, requires a completion webhook. More info here: https://docs.coveralls.io/parallel-build-webhook)

GitHub Actions CI

If you are using GitHub Actions CI, you should look into coverallsapp/github-action.

Parallel runs example workflow.yml

CircleCI Orb

Here's our Orb for quick integration: coveralls/coveralls

Workflow example: config.yml

Travis-CI

Parallel jobs example: .travis.yml

Jest

  • Install jest

  • Use the following to run tests and push files to coveralls on success:

    jest --coverage && coveralls < coverage/lcov.info
    

Check out an example here which makes use of Travis CI build stages

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/coveralls/bin/coveralls.js
    

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 CI build would look something like this:

YOURPACKAGE_COVERAGE=1 ./node_modules/.bin/mocha test -R mocha-lcov-reporter | ./node_modules/coveralls/bin/coveralls.js

Check out an example Makefile from one of my projects for an example, especially the test-coveralls build target. Note: Travis CI runs npm test, so whatever target you create in your Makefile must be the target that npm test runs (This is set in package.json's scripts property).

Istanbul

With Mocha:

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

With Jasmine:

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

Nodeunit + JSCoverage

Depend on nodeunit, jscoverage, and coveralls:

npm install nodeunit jscoverage coveralls --save-dev

Add a coveralls script to "scripts" in your package.json:

"scripts": {
  "test": "nodeunit test",
  "coveralls": "jscoverage lib && YOURPACKAGE_COVERAGE=1 nodeunit --reporter=lcov test | coveralls"
}

Ensure your app requires instrumented code when process.env.YOURPACKAGE_COVERAGE variable is defined.

Run your tests with a command like this:

npm run coveralls

For detailed instructions on requiring instrumented code, running on Travis CI and submitting to coveralls see this guide.

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/coveralls/bin/coveralls.js
    

Lab

lab -r lcov | ./node_modules/.bin/coveralls

nyc

Works with almost any testing framework. Simply execute npm test with the nyc bin followed by running its reporter:

nyc npm test && nyc report --reporter=text-lcov | coveralls

TAP

Simply run your tap tests with the COVERALLS_REPO_TOKEN environment variable set and tap will automatically use nyc to report coverage to coveralls.

Command Line Parameters

Usage: coveralls.js [-v] filepath

Optional arguments:

  • -v, --verbose
  • filepath - optionally defines the base filepath of your source files.

Running locally

If you're running locally, you must have a .coveralls.yml file, as documented in their documentation, with your repo_token in it; or, you must provide a COVERALLS_REPO_TOKEN environment variable on the command-line.

If you want to send commit data to coveralls, you can set the COVERALLS_GIT_COMMIT environment-variable to the commit hash you wish to reference. If you don't want to use a hash, you can set it to HEAD to supply coveralls with the latest commit data. This requires git to be installed and executable on the current PATH.

Contributing

I generally don't accept pull requests that are untested or break the build, because I'd like to keep the quality high (this is a coverage tool after all!).

I also don't care for "soft-versioning" or "optimistic versioning" (dependencies that have ^, x, > in them, or anything other than numbers and dots). There have been too many problems with bad semantic versioning in dependencies, and I'd rather have a solid library than a bleeding-edge one.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].