"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > ES6 모듈 가져 오기를 조롱하는 방법은 무엇입니까?

ES6 모듈 가져 오기를 조롱하는 방법은 무엇입니까?

2025-03-24에 게시되었습니다
검색:268

How to Mock ES6 Module Imports in Jest?

문제 설명

Mocking Mocking Mocking은 개발자가 종속 모듈에 대한 테스트를 실행하면서 특정 모듈의 동작을 분리 할 수 ​​있습니다. 그러나 수입이 스파이로 대체되는 Jasmine에서 사용 된 접근 방식은 다른 테스트 환경으로 인해 농담에 직접 적용 할 수 없습니다.

솔루션

Jest는 모듈에서 단일 객체로 전출 된 전출을 제공합니다. 이 기술은 ES6 모듈을 조롱하기 위해 활용 될 수 있습니다. const dosomething = (y) => console.log (y);

// mymodule.js를 내보내십시오 './dependency'에서 {dosomething} import; 내보내기 기본값 (x) => { 복용량 (x * 2); }; // myModule-test.js '../mymodule'에서 myModule을 가져옵니다. '../dependency'에서 의존성으로 가져 오기 *; 설명 ( 'myModule', () => { IT ( '입력의 두 배로 종속성을 호출', () => { 종속성 .dosomething = jest.fn (); // 이름 지정된 내보내기를 돌려줍니다 myModule (2); expect (종속성 .dosomething) .tobecalledwith (4); }); });

기본 내보내기를 조롱하는 기본 내보내기

// dependency.js
export const doSomething = (y) => console.log(y);
// dependency.js
export const doSomething = (y) => console.log(y);
[modulepath '에서 가져 오는 모듈 레나 이름을 사용하여 가져온 다음 가져온 객체의 기본값을 돌릴 수 있습니다. 내보내기 기본값 (y) => console.log (y);
// dependency.js
export const doSomething = (y) => console.log(y);
// myModule.js './mymodule'에서 myModule을 가져옵니다. '../dependency'에서 의존성으로 가져 오기 *; 설명 ( 'myModule', () => { IT ( '입력의 두 배로 종속성을 호출', () => { 종속성 .default = jest.fn (); // 기본 내보내기를 돌연변이합니다 myModule (2); 기대 (종속성 .Default) .tobecalledwith (4); // 기본값을 주장합니다 }); });

결론

// dependency.js
export default (y) => console.log(y);
.
릴리스 선언문 이 기사는 1729676733에 재현됩니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3