Skip to content
← Back to rules

jest/require-to-throw-message 정확성

작동 방식

toThrow() 또는 toThrowError()가 오류 메시지 없이 사용될 경우 경고를 발생시킵니다.

왜 좋지 않은가?

예상되는 오류 메시지를 지정하지 않고 toThrow() 또는 toThrowError()를 사용하면 테스트의 정밀도가 떨어지고 디버깅이 어려워집니다. 오류가 발생했는지만 확인하고 어떤 종류의 오류인지 확인하지 않으면, 잘못된 오류가 발생했을 때도 테스트가 통과할 수 있으며, 이로 인해 버그가 숨겨질 수 있습니다. 예상되는 오류 메시지나 오류 유형을 제공하면 테스트가 더 정교해지고 회귀 문제를 더 효과적으로 감지할 수 있습니다.

예시

이 규칙에 대한 잘못된 코드 예시:

javascript
test("모든 것", async () => {
  expect(() => a()).toThrow();
  expect(() => a()).toThrowError();
  await expect(a()).rejects.toThrow();
  await expect(a()).rejects.toThrowError();
});

이 규칙에 대한 올바른 코드 예시:

javascript
test("모든 것", async () => {
  expect(() => a()).toThrow("a");
  expect(() => a()).toThrowError("a");
  await expect(a()).rejects.toThrow("a");
  await expect(a()).rejects.toThrowError("a");
});

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

json
{
  "rules": {
    "vitest/require-to-throw-message": "error"
  }
}

사용 방법

구성 파일 또는 명령줄 인터페이스를 통해 이 규칙을 활성화하려면 다음을 사용할 수 있습니다:

json
{
  "plugins": ["jest"],
  "rules": {
    "jest/require-to-throw-message": "error"
  }
}
bash
oxlint --deny jest/require-to-throw-message --jest-plugin

참고 자료