Skip to content
← Back to rules

jest/no-deprecated-functions 스타일

An auto-fix is available for this rule.

동작 방식

시간이 지남에 따라, Jest는 명확성을 위해 이름이 변경되었거나, 더 강력한 API로 대체된 함수들에 대한 부채를 축적해왔습니다.

이 규칙은 이러한 폐기된 기능 중 일부를 자동으로 수정할 수 있습니다.

jest.resetModuleRegistry

Jest 15에서 resetModules로 이름이 변경되었으며, Jest 27에서 제거되었습니다.

jest.addMatchers

Jest 17에서 expect.extend로 대체되었고, Jest 27에서 제거되었습니다.

require.requireActualrequire.requireMock

Jest 21에서 대체되었으며, Jest 26에서 제거되었습니다.

원래 requireActualrequireMock 함수는 require 함수에 위치했습니다.

그 후, 타입 검사기가 다루기 쉬워지도록 jest 객체로 이동되었고, require를 통한 사용은 폐기되었습니다. 마지막으로, Jest 26 릴리스에서는 이 함수들이 require 함수에서 완전히 제거되었습니다.

jest.runTimersToTime

Jest 22에서 advanceTimersByTime으로 이름이 변경되었으며, Jest 27에서 제거되었습니다.

jest.genMockFromModule

Jest 26에서 createMockFromModule으로 이름이 변경되었으며, 예정된 삭제는 Jest 30입니다.

왜 문제인가?

일반적으로 이러한 폐기된 함수들은 여러 메이저 버전 동안 코드베이스에 유지되지만, 결국 완전히 제거됩니다.

예시

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

javascript
jest.resetModuleRegistry; // Jest 15부터
jest.addMatchers; // Jest 17부터

구성

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

jest

type: object

Jest 설정 옵션.

jest.version

type: string

기본값: "29"

사용 중인 Jest 버전.

사용 방법

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

json
{
  "plugins": ["jest"],
  "rules": {
    "jest/no-deprecated-functions": "error"
  }
}
bash
oxlint --deny jest/no-deprecated-functions --jest-plugin

참고자료