An awesome list of Jest packages and resources
Contents
Packages
Matchers
- jest-extended Adds additional matchers to core API making it easy to test everything.
- expect-more A huge library of test matchers for a range of common use-cases.
- jest-axe Custom Jest matcher for aXe for testing accessibility.
- jest-enzyme An assertion library for enzyme.
- jest-json-schema JSON schema matcher.
- expect-puppeteer Collection of matchers for Jest & Puppeteer.
- jest-dom Custom Jest matchers to test the dom structure.
- jest-generator Jest matcher for testing generator function.
- jest-shell-matchers Test shell scripts while mocking specific commands.
- jest-emotion Jest matcher for testing Emotion components.
- jest-openapi Jest matchers for asserting that HTTP responses satisfy an OpenAPI spec.
IDE
- vscode-jest Works out of the box Jest based testing in VS Code.
- wallaby The pinnacle of the idea of a test runner integrated into an editor.
- coc-jest Jest plugin for coc.nvim
Linting
- eslint-plugin-jest ESLint plugin for Jest.
- eslint-plugin-jest-formatting ESLint plugin that aims to provide formatting rules (auto-fixable where possible) to ensure consistency and readability in jest test suites.
Runners
- jest-runner-eslint ESLint runner for Jest.
- jest-runner-mocha Mocha runner for Jest.
- jest-runner-prettier Prettier runner for Jest.
- jest-electron-runner Electron runner for Jest.
- jest-runner-stylelint Stylelint runner for Jest.
- jest-runner-groups A runner that lets to group tests and to run groups separately.
- jest-runner-tsc A Jest runner for the TypeScript compiler.
Reporters
- jest-silent-reporter A silent reporter for Jest.
- jest-junit A JUnit format reporter for Jest which can integrate with CI systems.
- jest-xunit An xUnit format reporter for Jest.
- jest-skipped-reporter Report skipped tests in Jest.
- jest-html-reporter A Jest test results processor for generating a summary in HTML.
- jest-stare Configurable HTML reporter for filtering, side-by-side snapshot diffs, API, and simple CLI.
- jest-slow-test-reporter Prints the slowest tests in your codebase.
- jest-simple-dot-reporter A simple dot reporter.
- jest-html-reporters A Jest test results processor for generating a summary in HTML.
- jest-allure Add more power to your tests using Jest-Allure with very concise representation of what has been tested in a neat web report form.
- jest-standard-reporter Reporter that uses stdout for messages and stderr for errors
- jest-github-reporter Report jest test errors directly in pull requests
- jest-email-reporter Reporter for jest test errors by e-mail
Results Processors
- majestic Zero config UI for Jest.
Environments
- jest-environment-webdriver custom environment for WebDriver integration.
- jest-environment-puppeteer Puppeteer environment for Jest.
Coverage
- jest-it-up Automatically bump up global thresholds whenever coverage goes above them.
- jest-coverage-thresholds-bumper Similar to
jest-it-up
, but allows to specify where coverage summary is located, supports Jest config in JSON files andpackage.json
.
Snapshot
- snapshot-diff Takes two values, and return their difference as a string, ready to be snapshotted with toMatchSnapshot(). Especially helpful when testing the difference between different React component states.
- jest-snapshots-svg Take a React component tree, and render it into an SVG.
- jest-image-snapshot Take a snapshot test of an image buffer, and catch when the image changes over a threshold. Commonly used for visual regression testing.
- enzyme-to-json Convert Enzyme wrappers to a format compatible with Jest snapshot testing.
- jest-styled-components A set of utilities for testing Styled Components with Jest.
- jest-img-snapshot Image snapshot comparison using pixelmatch with all Jest's snapshot goodies out of the box.
- jest-file-snapshot Write snapshots to a separate file instead of the default snapshot file used by Jest.
- Differencify Visual regression testing tool using Jest and Puppeteer to do Image snapshot comparison.
- StoryShots StoryShots adds automatic Jest Snapshot Testing for Storybook.
- jest-large-snapshot-warning Add warnings to large snapshots.
- jest-serializer-react-helmet Include React Helmet data in component snapshots.
- jest-serializer-json-ld-script Serializes JSON+LD elements as JavaScript objects.
- jest-emotion Include Emotion styles in component snapshots.
- jest-serializer-xml Format XML documents to better visualize in Snapshots.
Migration
- jest-codemods Makes it easy to migrate from other test runner and frameworks to Jest.
Library extensions
- testdouble-jest Support for testdouble.js for users of Jest.
- jest-puppe-shots A Jest plugin for creating screenshots of React components with a little help of Puppeteer.
- jest-each Allows tests to be written once with multiple rows of data supplied to run the test multiple times.
- babel-jest-assertions Babel plugin that automatically adds the number of assertions found in each test with
expect.assertions(n)
andexpect.hasAssertions()
. - typescript-snapshots-plugin Extends the TypeScript dev server to support hovering and jumping to a snapshot.
- jest-chain Chain Jest matchers together to create one powerful assertion.
- jest-expect-message Add custom message to Jest expects.
- @bigtest/interactor Composable Page Objects for component based applications. Checkout the documentation and blog post about using with Jest.
- @testdeck/jest Decorator based wrapper around Jest for object oriented testing. Checkout the documentation and a working seed for you to start with.
- jest-plugin-must-assert A Jest plugin for strict runtime checks. Fails any tests without assertions and prevents async tasks (Promises & timeouts) from leaking across tests.
- jest-os-detection Dynamically enable or skip tests based on the OS they run on so you can share the same test suite accross various platforms.
Mocks
- jest-fetch-mock Easily mock out
fetch
and set up responses, powered by Jest mock functions. - jest-canvas-mock Mock canvas when run unit test cases with jest.
- jest-localstorage-mock A module to mock window.localStorage and window.sessionStorage in Jest.
- jest-date-mock Mock
window.Date
when run unit test cases with jest. Make tests of Date easier. - jest-mock-extended Create Typesafe mocks for TS interfaces and objects as well as returning argument specific return values.
Watch plugins
- jest-watch-continue Run test in continue mode.
- jest-watch-directories Select directories to test.
- jest-watch-exec Execute scripts during the watch cycle.
- jest-watch-lerna-packages Select Lerna packages to test.
- jest-watch-master Check changes since master.
- jest-watch-random Randomly run some of the test suites.
- jest-watch-repeat Repeat test runs multiple times.
- jest-watch-select-projects Select which Jest projects to run.
- jest-watch-suspend Suspend watch mode so that your changes would not trigger test runs.
- jest-watch-toggle-config Toggle boolean settings (e.g. verbosity, test coverage).
- jest-watch-typeahead Filter your tests by file name or test name.
- jest-watch-yarn-workspaces Select Yarn workspaces to test.
- node-recorder Toggle recording modes for
node-recorder
.
Processor
- jest-nunjucks Processor that compiles nunjucks templates.
- ts-jest TypeScript preprocessor with sourcemap support.
- vue-jest Vue transformer with source map support.
- marko-jest Processor for Marko component.
- awesome-pug-jest Processor for Pug/Jade
- jest-raw-loader Processor mimicking
webpack
'sraw-loader
. - jest-less-loader Jest transformer for
.less
file. - jest-url-loader Similar with webpack's
url-loader
for Jest transformer.
Presets
- jest-dynamodb Jest preset for working with DynamoDB.
- jest-mongodb Jest preset for working with MongoDB.
- jest-puppeteer A Jest preset that enables a ready-to-use environment to write integration tests using Puppeteer.
- jest-preset-gatsby Jest preset to streamline unit testing a Gatsby project.
Resources
Contribute
Contributions welcome! Read the contribution guidelines.