인프런 커뮤니티 질문&답변

mitchell.sung님의 프로필 이미지

작성한 질문수

따라하며 배우는 리액트 테스트 [2023.11 업데이트]

Mock Service Worker

브라우저와 통합 vs 노드와 통합

작성

·

420

0

안녕하세요~
 
다름이 아니라, MSW가 실행되는 환경이 브라우저와 노드의 차이점은 구글 검색으로 조금이나마 이해가 되었는데... 그럼 어떠한 경우에서 브라우저 환경에서 실행하나요?
 
예를 들면, 노드(백엔드) 없이 간단한 날씨 관련 데이터를 외부에서 받아서 리액트(프론트)로만 구현할 때 브라우저 환경에서 MSW를 실행해서 테스트를 해야 하는가요?
 
아직 학생이라 질문이 이상하더라도 이해 부탁드립니다. :)
 

답변 2

0

mitchell.sung님의 프로필 이미지
mitchell.sung
질문자

강사님의 답변에 저에게 많은 도움이 되어서 감사합니다. 

그리고 바쁘시겠지만, 혹시 시간이 되시면 E2E 강의도 부탁드립니다. :)

0

John Ahn님의 프로필 이미지
John Ahn
지식공유자

안녕하세요 !!!! 
질문 전혀 이상하지 않고 사실 저도 많이 고민했던 부분입니다 ! 
왜냐면 처음에는 저도 브라우저 통합으로 구현했었거든요 !!! 
근데 결국 Jest 사용을 위해서 노드 통합으로 바꾸었습니다 ! 

사실 MSW 사이트에 설명을 보면 이 부분이 너무 짧게 나와있습니다... 

The same request handlers can be shared between browser and Node environments.
Since Service Workers cannot run in Node, the integration process is different depending on the environment.

BROWER 통합

Mock Service Worker operates client-side by registering a Service Worker responsible for requests interception. However, we don't have to write any of the worker's code by ourselves, but rather copy the worker file distributed by the library. Mock Service Worker provides a dedicated CLI to help us do that.

NODE 통합

One of the most common usages of Mock Service Worker in Node is utilizing our request handlers for integration tests. We are going to use Jest as a test runner. Following the same principle, you can integrate mocking into any Node process.

 

Jest를 사용하지 않으시고 테스트를 진행하시려면 Browser 통합으로 가주시면 될 것 같고 Jest를 사용하시려면 Node 통합으로 하시면 될 것 같습니다 !!! 
질문 많이 해주세요 감사합니다 !!!