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.
75 lines
1.2 KiB
75 lines
1.2 KiB
# Disallow duplicate setup and teardown hooks (`no-duplicate-hooks`) |
|
|
|
A `describe` block should not contain duplicate hooks. |
|
|
|
## Rule Details |
|
|
|
Examples of **incorrect** code for this rule |
|
|
|
```js |
|
/* eslint jest/no-duplicate-hooks: "error" */ |
|
|
|
describe('foo', () => { |
|
beforeEach(() => { |
|
// some setup |
|
}); |
|
beforeEach(() => { |
|
// some setup |
|
}); |
|
test('foo_test', () => { |
|
// some test |
|
}); |
|
}); |
|
|
|
// Nested describe scenario |
|
describe('foo', () => { |
|
beforeEach(() => { |
|
// some setup |
|
}); |
|
test('foo_test', () => { |
|
// some test |
|
}); |
|
describe('bar', () => { |
|
test('bar_test', () => { |
|
afterAll(() => { |
|
// some teardown |
|
}); |
|
afterAll(() => { |
|
// some teardown |
|
}); |
|
}); |
|
}); |
|
}); |
|
``` |
|
|
|
Examples of **correct** code for this rule |
|
|
|
```js |
|
/* eslint jest/no-duplicate-hooks: "error" */ |
|
|
|
describe('foo', () => { |
|
beforeEach(() => { |
|
// some setup |
|
}); |
|
test('foo_test', () => { |
|
// some test |
|
}); |
|
}); |
|
|
|
// Nested describe scenario |
|
describe('foo', () => { |
|
beforeEach(() => { |
|
// some setup |
|
}); |
|
test('foo_test', () => { |
|
// some test |
|
}); |
|
describe('bar', () => { |
|
test('bar_test', () => { |
|
beforeEach(() => { |
|
// some setup |
|
}); |
|
}); |
|
}); |
|
}); |
|
```
|
|
|