- 将所有图片路径从绝对路径改为使用 process.env.PUBLIC_URL - 修复 HomePage.tsx 中所有图片引用 - 修复 CoursePage.tsx 中所有图片引用 - 确保图片在 GitHub Pages 上正确加载 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
76 lines
1.2 KiB
Markdown
76 lines
1.2 KiB
Markdown
# 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
|
|
});
|
|
});
|
|
});
|
|
});
|
|
```
|