Skip to content
← Back to rules

jest/prefer-comparison-matcher 스타일

An auto-fix is available for this rule.

동작 방식

이 규칙은 테스트에서 비교 표현식을 사용하는 경우, 다음 중 하나의 내장 비교 매처로 대체할 수 있는지 확인합니다:

  • toBeGreaterThan
  • toBeGreaterThanOrEqual
  • toBeLessThan
  • toBeLessThanOrEqual

왜 문제가 되는가?

>, < 등의 비교 표현식과 함께 일반적인 매처(toBe(true))를 사용하면, 실패했을 때 더 명확한 오류 메시지를 제공하지 못하고, 테스트 코드의 가독성이 떨어집니다. Jest의 특정 비교 매처는 의도를 더 명확하게 보여주며, 실제로 비교된 값을 포함한 더 나은 오류 출력을 제공합니다.

예시

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

js
expect(x > 5).toBe(true);
expect(x < 7).not.toEqual(true);
expect(x <= y).toStrictEqual(true);

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

js
expect(x).toBeGreaterThan(5);
expect(x).not.toBeLessThanOrEqual(7);
expect(x).toBeLessThanOrEqual(y);
// 특수 사례 - 아래 설명 참조
expect(x < "Carl").toBe(true);

이 규칙은 eslint-plugin-vitest와 호환되며, 이를 사용하려면 .oxlintrc.json 파일에 다음 구성 정보를 추가하세요:

json
{
  "rules": {
    "vitest/prefer-comparison-matcher": "error"
  }
}

사용 방법

구성 파일 또는 커맨드 라인을 통해 이 규칙을 활성화하려면 다음을 사용하세요:

json
{
  "plugins": ["jest"],
  "rules": {
    "jest/prefer-comparison-matcher": "error"
  }
}
bash
oxlint --deny jest/prefer-comparison-matcher --jest-plugin

참고 자료