These configuration instructions refer to a language-specific test reporter that will soon be deprecated in favor of our new unified test reporter client. The new test reporter is faster, distributed as a static binary, has support for parallelized CI builds, and will receive ongoing support by the team here. The existing test reporters for Ruby, Python, PHP, and Javascript are not yet deprecated but they're unofficially in maintenance mode.
Supplies a script which accepts coverage data over standard input, formats the coverage data and sends it to Code Climate. Supports lcov and Go's cover
formats.
Code Climate - https://codeclimate.com
Across the many different testing frameworks, setups, and environments, there are lots of variables at play. Before setting up test coverage, it's important to understand what we do and do not currently support:
-
Single payload: We currently only support a single test coverage payload per commit. If you run your tests in multiple steps, or via parallel tests, Code Climate will only process the first payload that we receive. If you are using a CI, be sure to check if you are running your tests in a parallel mode.
Note: There is one exception to this rule. We've specifically built an integration with Solano Labs to support parallel tests.
Note: If you've configured Code Climate to analyze multiple languages in the same repository (e.g., Ruby and JavaScript), we can nonetheless only process test coverage information for one of these languages. We'll process the first payload that we receive.
-
Invalid File Paths: By default, our test reporters expect your application to exist at the root of your repository. If this is not the case, the file paths in your test coverage payload will not match the file paths that Code Climate expects.
This npm package requires having a user (but not necessarily a paid account) on Code Climate, so if you don't have one the first step is to create an account at: https://codeclimate.com. Then:
-
Generate coverage data in lcov or Go's
cover
format.Lcov data can be generated by a number of JavaScript code coverage tools, including Istanbul and Lab test runner.
Coverage for Go packages can be generated by passing the
-cover
flag togo test
. -
Install codeclimate's NPM package
$ npm install -g codeclimate-test-reporter
-
Specifying your repo token as an environment variable, send lcov coverage data to the codeclimate npm script.
For example, if your coverage data resides in a "lcov.info" file:
CODECLIMATE_REPO_TOKEN=ABCD11110000000 codeclimate-test-reporter < lcov.info
The CODECLIMATE_REPO_TOKEN
value is provided after you add your repo to your
Code Climate account by clicking on "Setup Test Coverage" on the right hand side of your feed.
Please contact [email protected] if you need any assistance setting this up.
Usage: codeclimate [options] < <file>
Options:
-h, --help output usage information
-V, --version output the version number
-S, --skip-cert skips verification of the chain of certificate
-T, --timeout <ms> manually sets a timeout (default: 5000)
If you're having trouble setting up or working with our test coverage feature, see our detailed help doc, which covers the most common issues encountered.
Patches, bug fixes, feature requests, and pull requests are welcome on the GitHub page for this project: https://github.com/codeclimate/javascript-test-reporter
See LICENSE.txt