github-pages-deploy-action/node_modules/eslint-plugin-jest/docs/rules/no-focused-tests.md

61 lines
1.5 KiB
Markdown
Raw Normal View History

2020-03-07 11:45:40 +08:00
# Disallow focused tests (no-focused-tests)
Jest has a feature that allows you to focus tests by appending `.only` or
prepending `f` to a test-suite or a test-case. This feature is really helpful to
debug a failing test, so you dont have to execute all of your tests. After you
have fixed your test and before committing the changes you have to remove
`.only` to ensure all tests are executed on your build system.
This rule reminds you to remove `.only` from your tests by raising a warning
whenever you are using the exclusivity feature.
## Rule Details
This rule looks for every `describe.only`, `it.only`, `test.only`, `fdescribe`,
`fit` and `ftest` occurrences within the source code. Of course there are some
edge-cases which cant be detected by this rule e.g.:
```js
const describeOnly = describe.only;
describeOnly.apply(describe);
```
The following patterns are considered warnings:
```js
describe.only('foo', () => {});
it.only('foo', () => {});
describe['only']('bar', () => {});
it['only']('bar', () => {});
test.only('foo', () => {});
test['only']('bar', () => {});
fdescribe('foo', () => {});
fit('foo', () => {});
ftest('bar', () => {});
2020-03-31 20:40:00 +08:00
fit.each`
table
`();
ftest.each`
table
`();
2020-03-07 11:45:40 +08:00
```
These patterns would not be considered warnings:
```js
describe('foo', () => {});
it('foo', () => {});
describe.skip('bar', () => {});
it.skip('bar', () => {});
test('foo', () => {});
test.skip('bar', () => {});
2020-03-31 20:40:00 +08:00
it.each()();
it.each`
table
`();
test.each()();
test.each`
table
`();
2020-03-07 11:45:40 +08:00
```