본문으로 바로가기
MSW로 네트워크 모킹 — API를 격리하기 썸네일

MSW로 네트워크 모킹 — API를 격리하기

「프론트엔드 테스트 제대로 하기」 시리즈의 9편입니다. 전체 목차 보기 · 용어집 컴포넌트가 API를 부르기 시작하면 테스트가 흔들립니다. 서버가 느리면 같이 느려지고, 데이터가 바뀌면 깨지고, 오프라인이면 전멸이죠. MSW(Mock Service Worker) 는 네트워크 요청을 경계에서 가로채 준비된 응답을 돌려주는 도구로, 이 문제를 뿌리에서 해결합니다. 이 글 하나로 설치·핸들러·성공과 실패 시뮬레이션까지 정리해요. ...

글 작성일: 2026-07-14 · 글 읽기 시간: 9 분 · 글 단어 수: 4265 단어 · 글쓴이: Isaac
폼·상호작용·상태 테스트 — user-event로 썸네일

폼·상호작용·상태 테스트 — user-event로

「프론트엔드 테스트 제대로 하기」 시리즈의 8편입니다. 전체 목차 보기 · 용어집 버튼은 눌러봐야, 입력창은 타이핑해봐야 진짜 테스트예요. user-event는 Testing Library 가족 중 상호작용 재현을 맡는 도구입니다 — 클릭 한 번에도 포커스 이동과 키 이벤트 순서까지 실제 브라우저처럼 밟아서, “사용자가 하면 되는데 테스트에선 안 되는” 간극을 없애주죠. 이 글에서 타이핑·클릭 테스트를 처음부터 완성합니다. ...

글 작성일: 2026-07-13 · 글 읽기 시간: 9 분 · 글 단어 수: 4342 단어 · 글쓴이: Isaac
Testing Library 철학 — 사용자처럼 쿼리하기 썸네일

Testing Library 철학 — 사용자처럼 쿼리하기

「프론트엔드 테스트 제대로 하기」 시리즈의 7편입니다. 전체 목차 보기 · 용어집 Testing Library는 React를 비롯한 컴포넌트 테스트의 사실상 표준 도구입니다. 그런데 이 도구의 진짜 알맹이는 API가 아니라 철학 하나예요 — 컴포넌트 테스트에 들어서면 “클래스 이름으로 찾을까? 내부 state를 들여다볼까?” 하는 유혹이 생기는데, Testing Library는 단호하게 말합니다. 사용자가 하는 대로 하라. 이 글에서 그 철학이 무슨 뜻인지, 쿼리를 고르는 순서, 그리고 왜 이 방식이 접근성과 한 몸인지를 검색 컴포넌트를 직접 만들며 확인합니다. ...

글 작성일: 2026-07-10 · 글 읽기 시간: 11 분 · 글 단어 수: 5375 단어 · 글쓴이: Isaac
mock·stub·spy — 테스트 더블 제대로 이해하기 썸네일

mock·stub·spy — 테스트 더블 제대로 이해하기

「프론트엔드 테스트 제대로 하기」 시리즈의 6편입니다. 전체 목차 보기 · 용어집 “mock 써서 테스트했어요"라는 말, 실은 서로 다른 네 가지 개념(stub·spy·mock·fake)을 뭉뚱그린 표현입니다. 이 글 하나로 네 용어의 차이, Vitest vi.fn() 하나로 전부 커버하는 법, 그리고 “어디까지 가짜로 바꿀 것인가"의 기준까지 정리합니다. 한 번 정리해두면 테스트 코드를 읽고 쓰는 눈이 훨씬 선명해져요. ...

글 작성일: 2026-07-10 · 글 읽기 시간: 13 분 · 글 단어 수: 6314 단어 · 글쓴이: Isaac
타입스크립트 7 정식 출시 — 10배 빨라진 네이티브 컴파일러, 지금 갈아타도 될까 썸네일

타입스크립트 7 정식 출시 — 10배 빨라진 네이티브 컴파일러, 지금 갈아타도 될까

“tsc 돌려놓고 커피 타러 간다"는 농담, 프론트엔드 개발자라면 한 번쯤 해보셨을 거예요. 그 농담의 수명이 이제 끝날지도 모르겠습니다. 2026년 7월 8일, Microsoft가 TypeScript 7.0을 정식 출시했습니다. 컴파일러와 언어 서비스 전체를 Go로 포팅한 네이티브 버전 — 프리뷰 시절 tsgo(@typescript/native-preview)라는 이름으로 미리 써보신 분도 있을 그것의 정식판입니다. 프리뷰만으로 이미 주간 850만 다운로드를 넘겼던 물건이에요. 발표 기준으로 대형 프로젝트 타입 체크가 8~12배 빨라졌습니다. ...

글 작성일: 2026-07-09 · 글 읽기 시간: 14 분 · 글 단어 수: 6543 단어 · 글쓴이: Isaac
비동기·타이머·에러를 테스트하는 법 썸네일

비동기·타이머·에러를 테스트하는 법

「프론트엔드 테스트 제대로 하기」 시리즈의 5편입니다. 전체 목차 보기 · 용어집 현실의 코드는 기다립니다. API 응답을 기다리고, 타이머를 기다리죠. 그래서 비동기 테스트는 프론트엔드에서 가장 먼저 부딪히는 벽인데, 어렵게 느껴지는 이유는 사실 딱 하나예요 — “언제 검증하느냐”. 답이 도착하기 전에 채점하면, 빈 답안지를 채점하는 셈이 되거든요. 이 글 하나로 Promise 검증(resolves/rejects), 가짜 타이머, 실패 케이스까지 — 기다리는 코드를 다루는 무기를 전부 챙깁니다. ...

글 작성일: 2026-07-08 · 글 읽기 시간: 9 분 · 글 단어 수: 4387 단어 · 글쓴이: Isaac
단위 테스트 기초 — 순수 함수·경계값·AAA 패턴 썸네일

단위 테스트 기초 — 순수 함수·경계값·AAA 패턴

「프론트엔드 테스트 제대로 하기」 시리즈의 4편입니다. 전체 목차 보기 · 용어집 단위 테스트는 모든 테스트의 출발점입니다. 함수 하나를 앞에 두고 “이 입력이면 이 출력"을 못 박는, 가장 작고 가장 빠른 검증이죠. 이 글 하나로 단위 테스트가 무엇인지부터 순수 함수·AAA 패턴·경계값까지, 실전 코드로 기초를 완성합니다. ...

글 작성일: 2026-07-06 · 글 읽기 시간: 11 분 · 글 단어 수: 5430 단어 · 글쓴이: Isaac
무엇을 얼마나 테스트할까 — 커버리지 100%의 함정 썸네일

무엇을 얼마나 테스트할까 — 커버리지 100%의 함정

「프론트엔드 테스트 제대로 하기」 시리즈의 2편입니다. 전체 목차 보기 · 용어집 지난 편에서 “왜 테스트인가"를 이야기했다면, 이번엔 현실적인 질문입니다. “그래서 뭘, 얼마나 테스트해야 하죠?” 시간은 유한하고, 모든 걸 테스트할 수는 없으니까요. ...

글 작성일: 2026-07-04 · 글 읽기 시간: 5 분 · 글 단어 수: 2374 단어 · 글쓴이: Isaac
테스트 용어, 여기서 한 번에 — 프론트엔드 테스트 용어집(부록) 썸네일

테스트 용어, 여기서 한 번에 — 프론트엔드 테스트 용어집(부록)

「프론트엔드 테스트 제대로 하기」 시리즈의 부록입니다. 본문을 읽다가 낯선 용어를 만나면 언제든 이 페이지로 돌아오세요. 전체 목차 보기 프론트엔드 테스트를 배우다 보면 낯선 용어가 쏟아집니다. mock과 stub은 뭐가 다른지, getBy와 queryBy는 언제 갈리는지, 커버리지 숫자는 왜 그대로 믿으면 안 된다는 건지 — 그런 용어들을 이 페이지 하나에 전부 모았습니다. 항목마다 “이게 뭔지"에서 멈추지 않고 “왜 필요한지”, “언제 쓰는지"까지 담았어요. ...

글 작성일: 2026-07-04 · 글 읽기 시간: 17 분 · 글 단어 수: 8242 단어 · 글쓴이: Isaac
왜 지금 프론트엔드 테스트인가 — AI 시대의 안전벨트 썸네일

왜 지금 프론트엔드 테스트인가 — AI 시대의 안전벨트

「프론트엔드 테스트 제대로 하기」 시리즈의 1편입니다. 전체 목차 보기 · 용어집 “테스트요? 지금도 잘 돌아가는데요.” 한 번쯤 해봤거나, 들어봤을 말이죠. 저도 오랫동안 그랬습니다. 눈으로 보고, 손으로 클릭해보고, “어 되네” 하면 그걸로 충분하다고 생각했어요. 그런데 기능이 늘고, 코드를 고칠 때마다 “이거 고치면 저쪽이 안 터지나?” 하는 불안이 스멀스멀 올라오기 시작하면, 그때가 바로 테스트가 필요해지는 순간입니다. ...

맨 위로