jest/no-deprecated-functions 스타일
동작 방식
시간이 지남에 따라, Jest는 명확성을 위해 이름이 변경되었거나, 더 강력한 API로 대체된 함수들에 대한 부채를 축적해왔습니다.
이 규칙은 이러한 폐기된 기능 중 일부를 자동으로 수정할 수 있습니다.
jest.resetModuleRegistry
Jest 15에서 resetModules로 이름이 변경되었으며, Jest 27에서 제거되었습니다.
jest.addMatchers
Jest 17에서 expect.extend로 대체되었고, Jest 27에서 제거되었습니다.
require.requireActual 및 require.requireMock
Jest 21에서 대체되었으며, Jest 26에서 제거되었습니다.
원래 requireActual과 requireMock 함수는 require 함수에 위치했습니다.
그 후, 타입 검사기가 다루기 쉬워지도록 jest 객체로 이동되었고, require를 통한 사용은 폐기되었습니다. 마지막으로, Jest 26 릴리스에서는 이 함수들이 require 함수에서 완전히 제거되었습니다.
jest.runTimersToTime
Jest 22에서 advanceTimersByTime으로 이름이 변경되었으며, Jest 27에서 제거되었습니다.
jest.genMockFromModule
Jest 26에서 createMockFromModule으로 이름이 변경되었으며, 예정된 삭제는 Jest 30입니다.
왜 문제인가?
일반적으로 이러한 폐기된 함수들은 여러 메이저 버전 동안 코드베이스에 유지되지만, 결국 완전히 제거됩니다.
예시
이 규칙에 부적절한 코드 예시:
jest.resetModuleRegistry; // Jest 15부터
jest.addMatchers; // Jest 17부터구성
이 규칙은 다음 속성을 가진 구성 객체를 수용합니다.
jest
type: object
Jest 설정 옵션.
jest.version
type: string
기본값: "29"
사용 중인 Jest 버전.
사용 방법
이 규칙을 구성 파일이나 명령줄에서 활성화하려면 다음을 사용할 수 있습니다:
{
"plugins": ["jest"],
"rules": {
"jest/no-deprecated-functions": "error"
}
}oxlint --deny jest/no-deprecated-functions --jest-plugin