Skip to content
This repository has been archived by the owner on Sep 16, 2021. It is now read-only.

DEPRECATED Code Climate test reporter client for JavaScript projects

License

Notifications You must be signed in to change notification settings

codeclimate/javascript-test-reporter

Repository files navigation

codeclimate-test-reporter - [DEPRECATED]

These configuration instructions refer to a language-specific test reporter which is now 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 now deprecated.

npm version Build Status Coverage Status Code Climate Dependency Status

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

Important FYIs

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.

Installation

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:

  1. 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 to go test.

  2. Install codeclimate's NPM package

       $ npm install -g codeclimate-test-reporter
    
  3. 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 hello@codeclimate.com if you need any assistance setting this up.

Usage

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

Troubleshooting

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.

Contributions

Patches, bug fixes, feature requests, and pull requests are welcome on the GitHub page for this project: https://github.com/codeclimate/javascript-test-reporter

Copyright

See LICENSE.txt