jest/no-conditional-in-test Pedantic
작동 방식
테스트 내에서 조건문을 허용하지 않습니다.
왜 문제가 되는가?
테스트 내 조건문은 테스트를 더 어렵게 읽고 이해하게 만듭니다. 각 테스트 함수에는 하나의 테스트 케이스만 있어야 합니다.
예시
이 규칙에 부적절한 코드 예시:
js
it("foo", () => {
if (true) {
doTheThing();
}
});
it("bar", () => {
switch (mode) {
case "none":
generateNone();
case "single":
generateOne();
case "multiple":
generateMany();
}
expect(fixtures.length).toBeGreaterThan(-1);
});
it("baz", async () => {
const promiseValue = () => {
return something instanceof Promise ? something : Promise.resolve(something);
};
await expect(promiseValue()).resolves.toBe(1);
});이 규칙에 적절한 코드 예시:
js
describe("my tests", () => {
if (true) {
it("foo", () => {
doTheThing();
});
}
});
beforeEach(() => {
switch (mode) {
case "none":
generateNone();
case "single":
generateOne();
case "multiple":
generateMany();
}
});
it("bar", () => {
expect(fixtures.length).toBeGreaterThan(-1);
});
const promiseValue = (something) => {
return something instanceof Promise ? something : Promise.resolve(something);
};
it("baz", async () => {
await expect(promiseValue()).resolves.toBe(1);
});이 규칙은 eslint-plugin-vitest와 호환됩니다. 이를 사용하려면 다음 설정을 .oxlintrc.json에 추가하세요:
json
{
"rules": {
"vitest/no-conditional-in-test": "error"
}
}사용 방법
구성 파일 또는 명령줄 인터페이스를 통해 이 규칙을 활성화하려면 다음을 사용할 수 있습니다:
json
{
"plugins": ["jest"],
"rules": {
"jest/no-conditional-in-test": "error"
}
}bash
oxlint --deny jest/no-conditional-in-test --jest-plugin