jest/no-duplicate-hooks 스타일
작동 방식
describe 블록 내에서 중복된 훅을 허용하지 않습니다.
왜 나쁜가요?
describe 블록 내에 중복된 훅이 존재하면 혼란과 예기치 않은 동작이 발생할 수 있습니다.
같은 유형의 훅이 여러 개 존재할 경우, 모든 훅이 순서대로 실행되며, 이는 테스트 설정 흐름을 이해하기 어렵게 만들고
중복되거나 충돌하는 작업이 발생할 가능성이 있습니다. 이러한 문제는 테스트를 유지보수하고 디버깅하는 데 어려움을 초래합니다.
예시
이 규칙에 부적절한 코드 예시:
javascript
describe("foo", () => {
beforeEach(() => {
// 일부 설정
});
beforeEach(() => {
// 일부 설정
});
test("foo_test", () => {
// 일부 테스트
});
});
// 중첩된 describe 상황
describe("foo", () => {
beforeEach(() => {
// 일부 설정
});
test("foo_test", () => {
// 일부 테스트
});
describe("bar", () => {
test("bar_test", () => {
afterAll(() => {
// 일부 정리 작업
});
afterAll(() => {
// 일부 정리 작업
});
});
});
});이 규칙에 적절한 코드 예시:
javascript
describe("foo", () => {
beforeEach(() => {
// 일부 설정
});
test("foo_test", () => {
// 일부 테스트
});
});
// 중첩된 describe 상황
describe("foo", () => {
beforeEach(() => {
// 일부 설정
});
test("foo_test", () => {
// 일부 테스트
});
describe("bar", () => {
test("bar_test", () => {
beforeEach(() => {
// 일부 설정
});
});
});
});이 규칙은 eslint-plugin-vitest와 호환됩니다.
사용하려면 다음 구성 정보를 .oxlintrc.json 파일에 추가하세요:
json
{
"rules": {
"vitest/no-duplicate-hooks": "error"
}
}사용 방법
구성 파일 또는 명령줄을 통해 이 규칙을 활성화하려면 다음을 사용할 수 있습니다:
json
{
"plugins": ["jest"],
"rules": {
"jest/no-duplicate-hooks": "error"
}
}bash
oxlint --deny jest/no-duplicate-hooks --jest-plugin