iframe 간의 통신을 사용하는것에 MessageChannel API를 사용하고 있는데,
jest에서 모킹을하려하니까 안되었다.
window.MessageChannel not defined...
이런 경우는
jest코드 상단에 아래와 같은 코드를 삽입하면 해결할 수 있다.
window.MessageChannel = require("worker_threads").MessageChannel;
worker_threads는 nodejs에서 기본제공해준다.
마찬가지로 MessagePort같은것을 mocking할 때에도 사용할 수 있다.
'개발 > Web Programming' 카테고리의 다른 글
jest 테스트시에, The `document` global was defined when React was initialized 에러 (0) | 2021.10.07 |
---|---|
jest에서 localStorage를 mocking하여 test하는법 (0) | 2021.10.06 |
jest에서 cypress로 테스트 프레임워크를 바꿔야겠다고 결심했다가 취소한 이유 (0) | 2021.09.20 |
webpack, typescript, jest, storybook의 path alias 적용하기 (0) | 2021.09.06 |
npm 패키지를 cdn으로 가져오기 (0) | 2021.09.05 |