Skip to content
Vitest 1
Main Navigation 가이드API구성고급
1.6.1
0.34.6

한국어

English
简体中文
繁體中文
Español
Français
Русский
Português – Brasil
Deutsch
日本語
Italiano
Polski
Türkçe
čeština
magyar

한국어

English
简体中文
繁體中文
Español
Français
Русский
Português – Brasil
Deutsch
日本語
Italiano
Polski
Türkçe
čeština
magyar

외관

Sidebar Navigation

가이드

Vitest를 선택하는 이유

시작하기

기능

워크스페이스

명령줄 인터페이스

테스트 필터링

리포터

커버리지

스냅샷

모의화

타입 테스트

Vitest UI

브라우저 모드

소스 내 테스트

테스트 컨텍스트

테스트 환경

Matcher 확장하기

IDE 통합

디버깅

다른 테스트 러너와의 비교

마이그레이션 가이드

일반적인 오류

성능 향상

API

테스트 API 참조

Mock 함수

Vi

expect

expectTypeOf

assert

assertType

구성

Vitest 구성 파일 관리

Vitest 구성하기

이 페이지에서

일반적인 오류 ​

모듈 './relative-path'을(를) 찾을 수 없음 ​

모듈을 찾을 수 없다는 오류가 발생하면 다음과 같은 원인이 있을 수 있습니다.

    1. 경로를 잘못 입력했을 가능성이 있습니다. 경로가 정확한지 다시 확인해 보세요.
    1. tsconfig.json의 baseUrl을 사용하는 경우, Vite는 기본적으로 tsconfig.json 설정을 인식하지 못합니다. 따라서 해당 설정을 사용하려면 vite-tsconfig-paths를 직접 설치해야 합니다.
ts
import { defineConfig } from 'vitest/config';
import tsconfigPaths from 'vite-tsconfig-paths';

export default defineConfig({
  plugins: [tsconfigPaths()],
});

또는 루트 기준 경로 대신 상대 경로를 사용하도록 수정하십시오.

diff
- import helpers from 'src/helpers'
+ import helpers from '../src/helpers'
    1. 상대 별칭을 사용하고 있는지 확인하세요. Vite는 별칭을 프로젝트 루트가 아닌, 해당 import 구문이 포함된 파일을 기준으로 처리합니다.
ts
import { defineConfig } from 'vitest/config';

export default defineConfig({
  test: {
    alias: {
      '@/': './src/', 
      '@/': new URL('./src/', import.meta.url).pathname, 
    },
  },
});

"./mocked-file.js"를 모의(mock)할 수 없습니다. 이미 로드되었기 때문입니다. ​

이 오류는 이미 로드된 모듈에서 vi.mock 메서드를 호출할 때 발생합니다. Vitest는 캐시된 모듈이 우선되기 때문에 이 호출이 아무 효과가 없으므로 이 오류를 발생시킵니다.

vi.mock은 항상 호이스팅(hoisted)된다는 것을 기억하십시오. 이는 모듈이 테스트 파일 실행을 시작하기 전에, 아마도 셋업 파일에서 로드되었다는 의미입니다. 오류를 수정하려면 가져오기를 제거하거나 셋업 파일 끝에서 캐시를 지우십시오. 이 경우 셋업 파일과 테스트 파일은 서로 다른 모듈을 참조합니다.

ts
// setupFile.js
import { vi } from 'vitest';
import { sideEffect } from './mocked-file.js';

sideEffect();

vi.resetModules();

작업자(Worker)를 종료하지 못했습니다. ​

이 오류는 NodeJS의 fetch가 기본 pool: 'threads'와 함께 사용될 때 발생할 수 있습니다. 이 문제는 이슈 Timeout abort can leave process(es) running in the background #3077에서 추적되고 있습니다.

해결 방법으로 pool: 'forks' 또는 pool: 'vmForks'로 전환할 수 있습니다.

구성 파일에서 pool을 지정합니다.

ts
import { defineConfig } from 'vitest/config';

export default defineConfig({
  test: {
    pool: 'forks',
  },
});

또는 package.json 스크립트에서 지정합니다.

diff
scripts: {
-  "test": "vitest"
+  "test": "vitest --pool=forks"
}
Pager
이전마이그레이션 가이드
다음성능 향상

MIT 라이선스 하에 배포되었습니다.

Copyright (c) 2024 Mithril Contributors

https://v1.vitest.dev/guide/common-errors

MIT 라이선스 하에 배포되었습니다.

Copyright (c) 2024 Mithril Contributors