Skip to content
← Back to rules

vitest/prefer-called-once 스타일

An auto-fix is available for this rule.

작동 방식

toBeCalledTimes(1)toHaveBeenCalledTimes(1)를 각각 toBeCalledOnce()toHaveBeenCalledOnce()로 대체합니다.

왜 문제가 되는가?

*Times 메서드는 호출 횟수가 기대되는지 확인하기 위해 인수를 읽어야 합니다. 대부분의 경우, 메서드가 단 한 번만 호출되기를 기대하므로, 명시적으로 1회 호출을 지정하는 것은 불필요하게 복잡합니다.

예시

이 규칙에 위배되는 잘못된 코드 예시:

js
test("foo", () => {
  const mock = vi.fn();
  mock("foo");
  expect(mock).toBeCalledTimes(1);
  expect(mock).toHaveBeenCalledTimes(1);
});

이 규칙에 부합하는 올바른 코드 예시:

js
test("foo", () => {
  const mock = vi.fn();
  mock("foo");
  expect(mock).toBeCalledOnce();
  expect(mock).toHaveBeenCalledOnce();
});

사용 방법

구성 파일이나 CLI를 통해 이 규칙을 활성화하려면 다음을 사용할 수 있습니다:

json
{
  "plugins": ["vitest"],
  "rules": {
    "vitest/prefer-called-once": "error"
  }
}
bash
oxlint --deny vitest/prefer-called-once --vitest-plugin

참고자료