You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
89 lines
1.7 KiB
89 lines
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 |
|
|
|
```json5 |
|
{ |
|
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. |
|
|
|
```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 |
|
}); |
|
``` |
|
|
|
### Default configuration |
|
|
|
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 |
|
}); |
|
```
|
|
|