모듈과 Fetch 모킹
단위 테스트에서 외부 모듈, fetch 호출, SvelteKit 모듈을 모킹합니다.
모듈과 Fetch 모킹은(는) CoddyKit의 무료 Sveltejs Academy 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Sveltejs Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Sveltejs Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
모의 처리의 이유
테스트는 테스트 대상 단위를 격리해야 합니다. 네트워크 호출과 불안정한 테스트를 피하려면 외부 모듈을 모의 처리합니다.
vi.mock
Vitest는 모듈을 대체할 수 있도록 vi.mock을 제공합니다.
vi.mock("$lib/api", () => ({ getUser: () => ({ name: "Mock" }) }));fetch 모의 처리
vi.spyOn(global, "fetch")를 사용하거나 실제와 같은 API 모의를 위해 msw와 같은 라이브러리를 사용합니다.
vi.spyOn(global, "fetch").mockResolvedValue({ json: () => ({ items: [] }) });모듈 호이스팅
vi.mock 호출은 호이스팅됩니다. 파일의 맨 위에 선언합니다.
모의 객체 복원
정리하려면 afterEach에서 vi.restoreAllMocks()를 사용합니다.
HTTP용 MSW
Mock Service Worker는 네트워크 계층에서 가로채 테스트에서 실제와 같은 API 동작을 구현합니다.
SvelteKit 모듈 모의 처리
격리된 테스트를 위해 $app/stores, $app/navigation 및 다른 SvelteKit 가져오기를 모의 처리할 수 있습니다.
형식 안전 모의 객체
형식이 지정된 시그니처와 함께 vi.fn()을 사용하여 형식 안전 spy를 만듭니다.
테스트 간 초기화
새로운 상태로 시작하려면 vi.clearAllMocks() 또는 beforeEach 설정을 사용합니다.
부분 모의 객체
나머지는 실제 구현으로 유지하면서 모듈의 특정 내보내기만 모의 처리합니다.
실제 구현과 모의 객체의 절충
지나치게 모의 처리하면 테스트가 의미를 잃을 수 있습니다. 합리적인 경우 실제 구현과의 통합을 테스트합니다.
빠른 확인
vi.mock은 무엇을 하나요?
복습
vi.mock과 spy를 사용하여 단위를 격리하고, 네트워크 계층에서 실제와 같은 API 모의가 필요하면 MSW를 고려합니다.
AI 튜터와 함께 HTML을(를) 배우세요 — 무료
브라우저에서 실제 코드를 작성하고 실행하며, 24/7 AI 튜터로부터 즉각적인 도움을 받고, 웹이나 앱에서 중단한 부분부터 계속 학습하세요.
- 코스
- 41
- 레슨
- 163
자주 묻는 질문
“모듈과 Fetch 모킹” 강의는 무료인가요?
네 — “모듈과 Fetch 모킹” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Sveltejs Academy 강의 전체를 잠금 해제할 수 있습니다. Sveltejs Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“모듈과 Fetch 모킹”에서 뭘 배우나요?
단위 테스트에서 외부 모듈, fetch 호출, SvelteKit 모듈을 모킹합니다. 브라우저에서 직접 실행하는 실습 코드로 Sveltejs Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Sveltejs Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Sveltejs Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.
“모듈과 Fetch 모킹” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Sveltejs Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Sveltejs Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.