Skip to content
← Back to rules

jest/require-top-level-describe 스타일

작동 방식

테스트 케이스 및 훅을 상위 레벨의 describe 블록 내부에 위치하도록 요구합니다.

왜 문제가 되는가?

테스트 케이스와 훅을 describe 블록 내에 조직하면 테스트 세트에 더 나은 구조와 그룹화가 가능해집니다. 이를 통해 테스트 출력이 더 읽기 쉬워지고, 특히 대규모 코드베이스에서 테스트 조직에 도움이 됩니다.

이 규칙은 테스트 케이스(testit) 또는 훅(beforeAll, beforeEach, afterEach, afterAll)가 상위 레벨의 describe 블록 외부에 위치한 경우 경고를 발생시킵니다.

예시

이 규칙에 부적절한 코드 예시:

javascript
// describe 블록 위에 있는 경우
test("내 테스트", () => {});
describe("테스트 세트", () => {
  it("테스트", () => {});
});

// describe 블록 아래에 있는 경우
describe("테스트 세트", () => {});
test("내 테스트", () => {});

// 훅도 동일
beforeAll("내 beforeAll", () => {});
describe("테스트 세트", () => {});
afterEach("내 afterEach", () => {});

이 규칙에 적절한 코드 예시:

javascript
// describe 블록 위에 있는 경우
// describe 블록 내부에 있는 경우
describe("테스트 세트", () => {
  test("내 테스트", () => {});
});

// 중첩된 describe 블록 내부에 있는 경우
describe("테스트 세트", () => {
  test("내 테스트", () => {});
  describe("다른 테스트 세트", () => {
    test("내 다른 테스트", () => {});
  });
});

이 규칙은 eslint-plugin-vitest와 호환됩니다. 이를 사용하려면 .oxlintrc.json 파일에 다음 설정을 추가하세요:

json
{
  "rules": {
    "vitest/require-top-level-describe": "error"
  }
}

구성

이 규칙은 다음과 같은 속성을 가진 구성 객체를 받습니다:

maxNumberOfTopLevelDescribes

type: integer

기본값: 18446744073709551615

테스트 파일 내에서 허용되는 최대 상위 레벨 describe 블록 수입니다.

사용 방법

이 규칙을 활성화하려면 설정 파일이나 명령줄 인터페이스를 사용할 수 있습니다:

json
{
  "plugins": ["jest"],
  "rules": {
    "jest/require-top-level-describe": "error"
  }
}
bash
oxlint --deny jest/require-top-level-describe --jest-plugin

참고 자료