# 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 }); }); }); }); ```