forked from daren.hsu/line_push
1.7 KiB
1.7 KiB
Have control over 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:
it,xit,fit,it.only,it.skip. - test:
test,xtest,test.only,test.skip.
This rule gives you control over the usage of these keywords in your codebase.
Rule Details
This rule can be configured as follows
{
type: 'object',
properties: {
fn: {
enum: ['it', 'test'],
},
withinDescribe: {
enum: ['it', 'test'],
},
},
additionalProperties: false,
}
fn
Decides whether to use test or it.
withinDescribe
Decides whether to use test or it within a describe scope.
/*eslint jest/consistent-test-it: ["error", {"fn": "test"}]*/
test('foo'); // valid
test.only('foo'); // valid
it('foo'); // invalid
it.only('foo'); // invalid
/*eslint jest/consistent-test-it: ["error", {"fn": "it"}]*/
it('foo'); // valid
it.only('foo'); // valid
test('foo'); // invalid
test.only('foo'); // invalid
/*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
});
Default configuration
The default configuration forces top level test to use test and all tests
nested within describe to use it.
/*eslint jest/consistent-test-it: ["error"]*/
test('foo'); // valid
describe('foo', function() {
it('bar'); // valid
});
it('foo'); // invalid
describe('foo', function() {
test('bar'); // invalid
});