jest/prefer-mock-return-shorthand 스타일
작동 방식
간단한 값을 반환하는 함수의 모크를 사용할 때, Jest는 작성해야 하는 반복 코드 양을 줄이기 위해 몇 가지 API 편의 함수를 제공합니다.
왜 문제가 될까요?
Jest의 API 편의 함수를 사용하지 않으면 불필요한 반복 코드가 추가되어 테스트가 더 복잡하고 이해하기 어려워집니다. 이러한 도구들은 의도를 명확히 표현하며, 오류를 줄이고 테스트를 간단하고 유지보수가 쉬운 상태로 유지해 줍니다.
예시
이 규칙에 대해 잘못된 코드 예시:
js
jest.fn().mockImplementation(() => "안녕하세요 세상");
jest
.spyOn(fs.promises, "readFile")
.mockImplementationOnce(() => Promise.reject(new Error("아이고!")));
myFunction
.mockImplementationOnce(() => 42)
.mockImplementationOnce(() => Promise.resolve(42))
.mockReturnValue(0);이 규칙에 대해 올바른 코드 예시:
js
jest.fn().mockResolvedValue(123);
jest.spyOn(fs.promises, "readFile").mockReturnValue(Promise.reject(new Error("아이고!")));
jest.spyOn(fs.promises, "readFile").mockRejectedValue(new Error("아이고!"));
jest.spyOn(fs, "readFileSync").mockImplementationOnce(() => {
throw new Error("아이고!");
});
myFunction.mockResolvedValueOnce(42).mockResolvedValueOnce(42).mockReturnValue(0);이 규칙은 eslint-plugin-vitest와 호환되며, 이를 사용하려면 .oxlintrc.json에 다음 구성 항목을 추가하면 됩니다:
json
{
"rules": {
"vitest/prefer-mock-return-shorthand": "error"
}
}사용 방법
이 규칙을 구성 파일 또는 CLI를 통해 활성화하려면 다음을 사용할 수 있습니다:
json
{
"plugins": ["jest"],
"rules": {
"jest/prefer-mock-return-shorthand": "error"
}
}bash
oxlint --deny jest/prefer-mock-return-shorthand --jest-plugin