홈>
jest에서 mock 함수의 반환 값을 테스트하고 싶습니다.
다음 코드에서 fs 모듈의 mkdirSync 기능을 조롱하고 싶습니다
const fs = require("fs");
describe("Testing mock fs.mkdirSync", () => {
fs.mkdirSync = jest.fn().mockReturnValue(5);
fs.mkdirSync("./apple");
it("fs.mkdirSync must have been called", () => {
expect(fs.mkdirSync).toHaveBeenCalled();
});
//This test fails with TypeError: Cannot read property '0' of undefined
it("fs.mkdirSync last return value must be 5", () => {
expect(fs.mkdirSync.mock.results[0].value).toBe(5);
});
});
TypeError로 두 번째 테스트 실패 : 정의되지 않은 '0'속성을 읽을 수 없음
- 답변 # 1
- 답변 # 2
Jest Mocked 함수의 반환 값을 테스트하려는 이유는 무엇입니까? 이 시점에서
jest
를 테스트하고 있습니다 .fs.mkdirSync
를 할당 할 수 있습니다 변수로 반환하고 그 값이 반환 된 값이므로 테스트합니다 :const result = fs.mkdirSync("./apple"); it("fs.mkdirSync last return value must be 5", () => { expect(result).toBe(5); });
관련 자료
- 함수를 호출 할 때 에코를 피하고 PHP에서 반환 값만 원하는 방법
- 신속하게 함수에서 값 반환
- swift - 함수 내에서 if let 문에서 값을 반환하는 방법은 무엇입니까?
- for 루프를 사용하는 R 함수의 반환 값
- javascript - 부울 값 배열 대신 부울 값 1 개를 반환하는 매핑 함수
- generics - TypeScript의 함수에 대한 반환 유형에서 매개 변수 값을 속성 이름으로 사용하는 방법은 무엇입니까?
- list - 왜 pop () 함수가 파이썬의 함수 내부에서 값을 반환하지 않습니까?
- javascript - Map 함수는 React JSX에서 항목을 반환하지 않습니다
- Python function - Python 함수 — 연결 목록의 시작과 끝에 값을 삽입하는 — 연결 목록을 수정하지 않습니다
- javascript - 한 번만 작동하는 텍스트 상자에 버튼 값을 가져 오는 onclick () 함수
- javascript - Gatsy에서 탐색 기능 정의되지 않음
- python - 각 하위 배열의 최소값을 검색하는 기능
- python - 함수 내에서 생성 된 변수 값 가져 오기
- return 문이 파이썬에서 함수 본문의 일부입니까?
- 자바 스크립트의 맵 내 비동기 함수에서 제품 값을 어떻게 얻을 수 있습니까?
- node.js - nodeJS 함수에서 값을 반환하는 방법
- reactjs - react - 주요 app () 함수에 값을 어떻게 전달할 수 있습니까?
- parsing - 목록 반환 값을 값을 대체 할 수있는 sympy 표현식으로 구문 분석하는 방법은 무엇입니까?
- sql server - c #의 저장 프로 시저에서 반환 값 가져 오기
- python - 내가 만든 사용자 지정 함수가 빈 값을 반환하는 이유는 무엇입니까? - dfs
관련 질문
- reactjs : React + Jest -테스트 내부의 LoginForm 업데이트가 act(...)로 래핑되지 않았습니다.
- reactjs : FE: 버튼 클릭 시 단위 테스트 window.location.href 변경(테스트 실패)
- reactjs : 함수가 농담으로 빈 함수인지 주장할 수 있습니까?
- reactjs : useQuery: useQuery 속성은 함수가 아니므로 스파이할 수 없습니다.
- javascript : 모의 서비스 작업자, 슬픈 경로 테스트 실패
- reactjs : 테스트할 때 React 상태 업데이트를 유발하는 code는 jest axios가 있는 간단한 반응 네이티브 중첩 화면/구성 요소와 함께 act(...)로 래핑되어야 합니다.
- Enzyme에서 제목을 통해 구성 요소를 찾을 수 있습니까?
- javascript : React 테스트 라이브러리: 닫힌 모달에 대한 테스트가 통과하지 못함
- javascript : Jest 설명 블록에서 getElementsByClassName을 사용할 때 한 번에 하나의 테스트만 통과합니다.
- reactjs : React Hooks and Enzyme: React는 내가 했다고 생각했는데도 상태 업데이트를 act(...)로 래핑하라고 계속 말합니다.
코드가 정확이지만 jest 설치가 오래된 버전입니다.
테스트를 새로운 create-react-app 상용구에 복사하여 붙여넣고 jest를 실행하면 문제에 설명 된 동작이 발생합니다.
npm install jest --save-dev
를 실행 최신 버전의 jest를 설치합니다.Jest를 실행하면 두 테스트가 모두 통과됩니다.