Socket
Socket
Sign inDemoInstall

bamboo-jest-reporter

Package Overview
Dependencies
0
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    bamboo-jest-reporter

A reporter for Jest which parses the coverage-, snapshot- and test-results to a Mocha Test Parser format


Version published
Weekly downloads
3.3K
decreased by-45.46%
Maintainers
1
Install size
11.7 kB
Created
Weekly downloads
 

Readme

Source

Bamboo jest reporter

An Atlassian Bamboo reporter for Jest tests.

This reporter will generate test results for:

  • Jest tests
  • Coverage
  • Obsolete snapshots

Tests / coverage / snapshots can be separately disabled by environment variables:

  • JEST_REPORTER_ADD_TESTS=false (only report coverage and/or obsolete snapshots)
  • JEST_REPORTER_ADD_COVERAGE=false (do not report coverage drops)
  • JEST_REPORTER_SNAPSHOTS_ADD_OBSOLETE=false (do not report obsolete snapshots as a failure)

This project was started based on https://github.com/adalbertoteixeira/jest-bamboo-formatter

Installation

Install and add the reporter to the development dependencies in package.json:

npm i bamboo-jest-reporter --save-dev

Configuration

Configure an npm test script for your project

Add the test npm script in your package.json

"scripts": {
    "test": "jest"
}
Jest configruation

Configuring Jest can be done either in a configuration file (default:'jest.config.js') or in 'package.json': https://jestjs.io/docs/en/configuration

Add reporter

Add the following line to your configuration to add this reporter:

reporters: [ "default", "bamboo-jest-reporter" ],

If you do not need the default Jest reporter (the default Jest reporter prints the Jest results in the bash/cmd-client)

reporters: [ "bamboo-jest-reporter" ],
Add coverage thresholds

To add code coverage thresholds, add the following block to the configuration:

coverageThreshold: {
    global: {
        branches: 100,
        functions: 100,
        statements: 100,
        lines: 100
    }
},
Make Jest output coverage info

To include coverage: simply collectCoverage to the Jest config

collectCoverage: true

Or configure npm test to collect coverage as well

"scripts": {
    "test": "jest --coverage"
}
Sample configurations
jest.config.js
module.exports = {
	collectCoverage: true,
	coverageDirectory: "coverage",
	reporters: [ "defaults", "bamboo-jest-reporter" ],
	collectCoverageFrom: [
		"**/*.js"
	],
	coverageThreshold: {
		global: {
			branches: 100,
			functions: 100,
			statements: 100,
			lines: 100
		}
	}
}
Alternative: package.json
jest: {
	collectCoverage: true,
	coverageDirectory: "coverage",
	reporters: [ "defaults", "bamboo-jest-reporter" ],
	collectCoverageFrom: [
		"**/*.js"
	],
	coverageThreshold: {
		global: {
			branches: 100,
			functions: 100,
			statements: 100,
			lines: 100
		}
	}
}

Usage

A mocha test report will be created (jest.json) after running:

npm test

You can disable:

  • reporting of Jest test-results: set an environment variable in your bamboo task JEST_REPORTER_ADD_TESTS=false
  • reporting of coverage: set an environment variable in your bamboo task JEST_REPORTER_ADD_COVERAGE=false
  • reporting of obsolete snapshots: set an environment variable in your bamboo task JEST_REPORTER_SNAPSHOTS_ADD_OBSOLETE=false

By default tests / coverage and obsolete snapshots are all reported. When all reporting is on, the following scenarios will be logged as failures:

  • When a Jest test fails
  • When the coverage thresholds are not met (only when configured in the jest-configuration)
  • When obsolete snapshots are found (if Jest snapshots are configured)

Prevent your Bamboo task from failing when the tests fail (exit 0):

#!/usr/bin/env bash
if ! npm test
then
    echo "The automated jest tests did not pass. Please check the tests-tab"
    exit 0
fi

Make Bamboo fail by interpreting the test-results:

Add a 'Mocha Test Parser'-task to your bamboo-job. Set 'jest.json' as testfile pattern.

Keywords

FAQs

Last updated on 24 Jun 2019

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc