jest/prefer-jest-mocked 스타일
작동 방식
Jest를 사용하여 함수를 모킹할 때, 모킹된 함수의 타입을 올바르게 지정하기 위해 jest.mocked() 보조 함수를 사용하는 것이 권장됩니다. 이 규칙은 더 나은 타입 안전성과 가독성을 위해 jest.mocked()의 사용을 강제합니다.
제한된 타입:
jest.Mockjest.MockedFunctionjest.MockedClassjest.MockedObject
왜 좋지 않은가?
fn as jest.Mock와 같은 타입 주장 사용은 jest.mocked()보다 덜 안전한 접근 방식입니다. jest.mocked() 보조 함수는 원래 함수 시그니처를 유지하면서도 모킹 기능을 추가함으로써 더 뛰어난 타입 안정성을 제공합니다. 또한 코드의 가독성을 높이고, 모킹 의도를 명확하게 표현해줍니다.
예시
이 규칙에 부적절한 코드 예시:
typescript
(foo as jest.Mock).mockReturnValue(1);
const mock = (foo as jest.Mock).mockReturnValue(1);
(foo as unknown as jest.Mock).mockReturnValue(1);
(Obj.foo as jest.Mock).mockReturnValue(1);
([].foo as jest.Mock).mockReturnValue(1);이 규칙에 적절한 코드 예시:
typescript
jest.mocked(foo).mockReturnValue(1);
const mock = jest.mocked(foo).mockReturnValue(1);
jest.mocked(Obj.foo).mockReturnValue(1);
jest.mocked([].foo).mockReturnValue(1);사용 방법
이 규칙을 설정 파일 또는 CLI에서 활성화하려면 다음을 사용할 수 있습니다:
json
{
"plugins": ["jest"],
"rules": {
"jest/prefer-jest-mocked": "error"
}
}bash
oxlint --deny jest/prefer-jest-mocked --jest-plugin