Skip to content
← Back to rules

vitest/consistent-each-for 정확성

작동 방식

이 규칙은 매개변수화된 테스트를 생성할 때 사용되는 메서드의 일관성을 보장합니다.
이 설정은 다양한 테스트 함수 유형(test, it, describe, suite)에 영향을 미칩니다.

왜 좋지 않은가?

매개변수화된 테스트를 생성하는 방법이 일관되지 않으면, 개발자가 .for가 값을 별도의 인수로 전달한다는 것과 .each가 배열을 단일 인수로 전달한다는 것을 기억해야 합니다. 이는 실수를 유발할 수 있습니다.

예시

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

js
// { test: 'for' }
test.each([[1, 1, 2]])("테스트", (a, b, expected) => {
  expect(a + b).toBe(expected);
});

// { describe: 'for' }
describe.each([[1], [2]])("세트 %s", (n) => {
  test("테스트", () => {});
});

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

js
// { test: 'for' }
test.for([[1, 1, 2]])("테스트", ([a, b, expected]) => {
  expect(a + b).toBe(expected);
});

// { describe: 'for' }
describe.for([[1], [2]])("세트 %s", ([n]) => {
  test("테스트", () => {});
});

구성

이 규칙은 다음 속성을 가진 구성 객체를 수용합니다.

describe

type: "for" | "each"

it

type: "for" | "each"

suite

type: "for" | "each"

test

type: "for" | "each"

사용 방법

이 규칙을 구성 파일 또는 명령줄에서 활성화하려면 다음과 같이 사용할 수 있습니다:

json
{
  "plugins": ["vitest"],
  "rules": {
    "vitest/consistent-each-for": "error"
  }
}
bash
oxlint --deny vitest/consistent-each-for --vitest-plugin

참고 자료