github-pages-deploy-action/node_modules/eslint-plugin-jest/docs/rules/require-top-level-describe.md

53 lines
1.3 KiB
Markdown
Raw Normal View History

2020-09-13 06:19:45 +08:00
# Require test cases and hooks to be inside a `describe` block (`require-top-level-describe`)
2020-03-07 11:45:40 +08:00
Jest allows you to organise your test files the way you want it. However, the
more your codebase grows, the more it becomes hard to navigate in your test
2020-09-13 06:19:45 +08:00
files. This rule makes sure you provide at least a top-level `describe` block in
your test file.
2020-03-07 11:45:40 +08:00
## Rule Details
This rule triggers a warning if a test case (`test` and `it`) or a hook
(`beforeAll`, `beforeEach`, `afterEach`, `afterAll`) is not located in a
2020-09-13 06:19:45 +08:00
top-level `describe` block.
2020-03-07 11:45:40 +08:00
The following patterns are considered warnings:
```js
// Above a describe block
test('my test', () => {});
describe('test suite', () => {
it('test', () => {});
});
// Below a describe block
describe('test suite', () => {});
test('my test', () => {});
// Same for hooks
beforeAll('my beforeAll', () => {});
describe('test suite', () => {});
afterEach('my afterEach', () => {});
```
The following patterns are **not** considered warnings:
```js
// In a describe block
describe('test suite', () => {
test('my test', () => {});
});
// In a nested describe block
describe('test suite', () => {
test('my test', () => {});
describe('another test suite', () => {
test('my other test', () => {});
});
});
```
## When Not To Use It
Don't use this rule on non-jest test files.