ESLint plugin for Jest

README.md

Build Status Greenkeeper badge

eslint-plugin-jest

ESLint plugin for Jest

Installation

$ yarn add --dev eslint eslint-plugin-jest

Note: If you installed ESLint globally then you must also install eslint-plugin-jest globally.

Usage

Add jest to the plugins section of your .eslintrc configuration file. You can omit the eslint-plugin- prefix:

{
  "plugins": ["jest"]
}

Then configure the rules you want to use under the rules section.

{
  "rules": {
    "jest/no-disabled-tests": "warn",
    "jest/no-focused-tests": "error",
    "jest/no-identical-title": "error",
    "jest/prefer-to-have-length": "warn",
    "jest/valid-expect": "error"
  }
}

You can also whitelist the environment variables provided by Jest by doing:

{
  "env": {
    "jest/globals": true
  }
}

Shareable configurations

Recommended

This plugin exports a recommended configuration that enforces good testing practices.

To enable this configuration use the extends property in your .eslintrc config file:

{
  "extends": ["plugin:jest/recommended"]
}

See ESLint documentation for more information about extending configuration files.

Rules

Rule Description Recommended Fixable
consistent-test-it Enforce consistent test or it keyword fixable-green
expect-expect Enforce assertion to be made in a test body
lowercase-name Disallow capitalized test names fixable-green
no-alias-methods Disallow alias methods
no-disabled-tests Disallow disabled tests recommended
no-focused-tests Disallow focused tests recommended
no-hooks Disallow setup and teardown hooks
no-identical-title Disallow identical titles recommended
no-jasmine-globals Disallow Jasmine globals fixable-yellow
no-jest-import Disallow importing jest recommended
no-large-snapshots Disallow large snapshots
no-test-prefixes Disallow using f & x prefixes to define focused/skipped tests fixable-green
no-test-return-statement Disallow explicitly returning from tests
prefer-expect-assertions Suggest using expect.assertions() OR expect.hasAssertions()
prefer-strict-equal Suggest using toStrictEqual() fixable-green
prefer-to-be-null Suggest using toBeNull() fixable-green
prefer-to-be-undefined Suggest using toBeUndefined() fixable-green
prefer-to-contain Suggest using toContain() fixable-green
prefer-to-have-length Suggest using toHaveLength() recommended fixable-green
prefer-inline-snapshots Suggest using toMatchInlineSnapshot() fixable-green
require-tothrow-message Require that toThrow() and toThrowError includes a message
valid-describe Enforce valid describe() callback
valid-expect-in-promise Enforce having return statement when testing with promises
valid-expect Enforce valid expect() usage recommended

Credit