jest/no-hooks 스타일
작동 방식
Jest의 설정 및 정리 훅(beforeAll 등) 사용을 금지합니다.
왜 좋지 않은가?
Jest는 각 테스트 케이스와 테스트 세트 전후에 호출되는 전역 함수를 제공하여 설정 및 정리 작업을 수행합니다. 이러한 훅의 사용은 테스트 간 공유 상태를 유도합니다.
이 규칙은 다음 함수 호출에 대해 보고합니다:
beforeAllbeforeEachafterAllafterEach
예시
이 규칙에 부적절한 코드 예시:
javascript
function setupFoo(options) {
/* ... */
}
function setupBar(options) {
/* ... */
}
describe("foo", () => {
let foo;
beforeEach(() => {
foo = setupFoo();
});
afterEach(() => {
foo = null;
});
it("무엇인가를 수행한다", () => {
expect(foo.doesSomething()).toBe(true);
});
describe("bar와 함께", () => {
let bar;
beforeEach(() => {
bar = setupBar();
});
afterEach(() => {
bar = null;
});
it("bar와 함께 무엇인가를 수행한다", () => {
expect(foo.doesSomething(bar)).toBe(true);
});
});
});이 규칙은 eslint-plugin-vitest와 호환되며, 이를 사용하려면 .oxlintrc.json에 다음 구성 정보를 추가하세요:
json
{
"rules": {
"vitest/no-hooks": "error"
}
}구성
이 규칙은 다음 속성을 가진 구성 객체를 수락합니다:
allow
type: string[]
기본값: []
사용이 허용된 훅 함수 이름의 배열입니다.
사용 방법
구성 파일 또는 명령줄에서 이 규칙을 활성화하려면 다음을 사용할 수 있습니다:
json
{
"plugins": ["jest"],
"rules": {
"jest/no-hooks": "error"
}
}bash
oxlint --deny jest/no-hooks --jest-plugin