eslint-plugin-jest

22.0.0 • Public • Published

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"]
}

Style

This plugin also exports a configuration named style, which adds some stylistic rules, such as prefer-to-be-null, which enforces usage of toBeNull over toBe(null). All rules included are:

  • prefer-to-be-null
  • prefer-to-be-undefined
  • prefer-to-contain
  • prefer-to-have-length

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 recommended fixable-green
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 recommended fixable-yellow
no-jest-import Disallow importing jest recommended
no-large-snapshots Disallow large snapshots
no-test-callback Using a callback in asynchronous tests fixable-green
no-test-prefixes Disallow using f & x prefixes to define focused/skipped tests recommended fixable-green
no-test-return-statement Disallow explicitly returning from tests
prefer-expect-assertions Suggest using expect.assertions() OR expect.hasAssertions()
prefer-spy-on Suggest using jest.spyOn() fixable-green
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() 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 recommended
valid-expect-in-promise Enforce having return statement when testing with promises recommended
valid-expect Enforce valid expect() usage recommended

Credit

install

npm i eslint-plugin-jest

Downloadsweekly downloads

422,476

version

22.0.0

license

MIT

homepage

github.com

repository

Gitgithub

last publish

collaborators

  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
Report a vulnerability