test
and it
usages (consistent-test-it
)Jest allows you to choose how you want to define your tests, using the it
or
the test
keywords, with multiple permutations for each:
it
, xit
, fit
, it.only
, it.skip
.test
, xtest
, test.only
, test.skip
.This rule gives you control over the usage of these keywords in your codebase.
This rule can be configured as follows
json5
{
type: 'object',
properties: {
fn: {
enum: ['it', 'test'],
},
withinDescribe: {
enum: ['it', 'test'],
},
},
additionalProperties: false,
}
Decides whether to use test
or it
.
Decides whether to use test
or it
within a describe
scope.
```js /eslint jest/consistent-test-it: ["error", {"fn": "test"}]/
test('foo'); // valid test.only('foo'); // valid
it('foo'); // invalid it.only('foo'); // invalid ```
```js /eslint jest/consistent-test-it: ["error", {"fn": "it"}]/
it('foo'); // valid it.only('foo'); // valid
test('foo'); // invalid test.only('foo'); // invalid ```
```js /eslint jest/consistent-test-it: ["error", {"fn": "it", "withinDescribe": "test"}]/
it('foo'); // valid describe('foo', function () { test('bar'); // valid });
test('foo'); // invalid describe('foo', function () { it('bar'); // invalid }); ```
The default configuration forces all top-level tests to use test
and all tests
nested within describe
to use it
.
```js /eslint jest/consistent-test-it: ["error"]/
test('foo'); // valid describe('foo', function () { it('bar'); // valid });
it('foo'); // invalid describe('foo', function () { test('bar'); // invalid }); ```