Skip to content
Vitest 3
Main Navigation 가이드 & API구성브라우저 모드고급 API
3.2.0
2.1.9
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

API

Node API

고급 API

Vitest API

TestProject

TestSpecification

Test Task API

TestCase

TestSuite

TestModule

TestCollection

플러그인 API

러너 API

리포터

작업 메타데이터

가이드

테스트 실행

리포터 확장

사용자 지정 풀

Vitest 구성하기

테스트 API 참조

이 페이지에서

TestModule ​

TestModule 클래스는 단일 프로젝트 내의 단일 모듈을 나타냅니다. 이 클래스는 메인 스레드에서만 사용 가능합니다. 런타임 태스크를 다루는 경우 "러너 API"를 참조하세요.

TestModule 인스턴스는 항상 module 값을 가진 type 속성을 가집니다. 이를 통해 다른 작업 유형과 구별할 수 있습니다.

ts
if (task.type === 'module') {
  task; // TestModule
}

스위트 메서드 확장

TestModule 클래스는 TestSuite의 모든 메서드와 속성을 상속합니다. 이 가이드에서는 TestModule에만 해당하는 메서드와 속성만 나열합니다.

moduleId ​

이는 일반적으로 절대 유닉스 파일 경로입니다(Windows에서도). 파일이 디스크에 없을 경우 가상 ID일 수 있습니다. 이 값은 Vite의 ModuleGraph ID에 해당합니다.

ts
'C:/Users/Documents/project/example.test.ts'; // ✅
'/Users/mac/project/example.test.ts'; // ✅
'C:\\Users\\Documents\\project\\example.test.ts'; // ❌

state ​

ts
function state(): TestModuleState;

testSuite.state()와 동일하게 동작하지만, 모듈이 아직 실행되지 않은 경우 queued를 반환할 수도 있습니다.

meta 3.1.0+ ​

ts
function meta(): TaskMeta;

모듈 실행 또는 수집 중에 모듈에 첨부된 사용자 지정 메타 데이터입니다. 메타 데이터는 테스트 런 중에 task.meta 객체에 속성을 할당하여 첨부할 수 있습니다.

ts
import { test } from 'vitest';

describe('the validation works correctly', task => {
  // 수집 중에 "decorated" 할당
  task.file.meta.decorated = false;

  test('some test', ({ task }) => {
    // 테스트 실행 중에 "decorated" 할당 (onTestCaseReady 훅에서만 사용 가능)
    task.file.meta.decorated = false;
  });
});

TIP

메타 데이터가 수집 중에 (test 함수 외부에서) 첨부된 경우, 사용자 지정 리포터의 onTestModuleCollected 훅에서 사용할 수 있습니다.

diagnostic ​

ts
function diagnostic(): ModuleDiagnostic;

모듈에 대한 유용한 정보(예: 지속 시간, 메모리 사용량 등)입니다. 모듈이 아직 실행되지 않았다면 모든 진단 값은 0을 반환합니다.

ts
interface ModuleDiagnostic {
  /**
   * 환경을 가져오고 초기화하는 데 걸리는 시간입니다.
   */
  readonly environmentSetupDuration: number;
  /**
   * Vitest가 테스트 하니스(러너, 모의 등)를 설정하는 데 걸리는 시간입니다.
   */
  readonly prepareDuration: number;
  /**
   * 테스트 모듈을 가져오는 데 걸리는 시간입니다.
   * 여기에는 모듈 내의 모든 것을 가져오고 스위트 콜백을 실행하는 과정이 포함됩니다.
   */
  readonly collectDuration: number;
  /**
   * 설정 모듈을 가져오는 데 걸리는 시간입니다.
   */
  readonly setupDuration: number;
  /**
   * 모듈의 모든 테스트 및 훅의 누적 지속 시간입니다.
   */
  readonly duration: number;
  /**
   * 모듈이 사용한 메모리 양(바이트)입니다.
   * 이 값은 `logHeapUsage` 플래그가 설정된 경우에만 사용할 수 있습니다.
   */
  readonly heap: number | undefined;
  /**
   * Vitest가 처리한 모든 외부화되지 않은 의존성을 가져오는 데 걸린 시간입니다.
   */
  readonly importDurations: Record<string, ImportDuration>;
}

/** 외부화되지 않은 파일을 가져오고 실행하는 데 걸린 시간입니다. */
interface ImportDuration {
  /** 파일 자체를 가져오고 실행하는 데 걸린 시간이며, 파일이 수행하는 모든 외부화되지 않은 가져오기는 포함하지 않습니다. */
  selfTime: number;

  /** 파일과 모든 가져오기를 가져오고 실행하는 데 걸린 시간입니다. */
  totalTime: number;
}
Pager
이전TestSuite
다음TestCollection

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

Copyright (c) 2021-Present Vitest Team

https://vitest.dev/advanced/api/test-module

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

Copyright (c) 2021-Present Vitest Team