Skip to content

Latest commit

 

History

History
70 lines (47 loc) · 1.28 KB

File metadata and controls

70 lines (47 loc) · 1.28 KB

jest-circleci-coverage

JSR

A Jest plugin that generates coverage data for CircleCI's Smarter Testing.

Usage

This plugin uses the v8 JS engine Profiler APIs to collect coverage.

Install the plugin.

pnpm add -D jsr:@circleci/jest-circleci-coverage

Add the custom runner and reporter to your jest.config.ts:

import {createDefaultPreset} from 'ts-jest';
import type {Config} from 'jest';

const tsJestTransformCfg = createDefaultPreset().transform;

const config: Config = {
  testEnvironment: '@circleci/jest-circleci-coverage/environment',
  reporters: ['default', '@circleci/jest-circleci-coverage/reporter'],
  transform: {
    ...tsJestTransformCfg,
  },
};

export default config;

Set the CIRCLECI_COVERAGE environment variable when running tests to enable test coverage.

CIRCLECI_COVERAGE=coverage.json jest

Development

Install and use current node version.

NODE_VER=$(cat ./.nvmrc)
nvm install $NODE_VER
nvm use $NODE_VER

Install dependencies with pnpm.

pnpm install

Build the plugin.

pnpm build

Run tests.

pnpm test