Skip to content
Vitest 3
Main Navigation Guia & APIConfiguraçãoModo NavegadorAPI Avançada
3.2.0
2.1.9
1.6.1
0.34.6

Português – Brasil

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

Português – Brasil

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

Aparência

Sidebar Navigation

API

Node API

APIs Avançadas

API Vitest

TestProject

TestSpecification

Test Task API

TestCase

TestSuite

TestModule

TestCollection

API de Plugin

API do Runner

Reporters

Metadados da Tarefa

Guia

Executando Testes

Estendendo Relatores

Pool Personalizado

Configurando o Vitest

Referência da API de Teste

Nesta página

TestModule ​

A classe TestModule representa um único módulo dentro de um projeto. Esta classe está disponível apenas na thread principal. Para interagir com tarefas em tempo de execução, consulte a "API do Runner".

A instância de TestModule sempre possui uma propriedade type com o valor module. Você pode usar essa propriedade para diferenciar entre os diversos tipos de tarefas:

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

Estendendo Métodos da Suíte

A classe TestModule herda todos os métodos e propriedades de TestSuite. Este guia abordará apenas os métodos e propriedades que são exclusivos de TestModule.

moduleId ​

Geralmente, este é um caminho de arquivo absoluto no estilo Unix (mesmo em sistemas Windows). Pode ser um ID virtual se o arquivo não estiver presente em disco. Este valor corresponde ao ID do ModuleGraph do Vite.

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;

Funciona de maneira similar a testSuite.state(), mas também pode retornar queued (em fila) caso o módulo ainda não tenha sido executado.

meta 3.1.0+ ​

ts
function meta(): TaskMeta;

Metadados personalizados que foram anexados ao módulo durante sua execução ou coleta. Os metadados podem ser anexados ao atribuir uma propriedade ao objeto task.meta durante a execução de um teste:

ts
import { test } from 'vitest';

describe('the validation works correctly', task => {
  // Atribuição de "decorated" durante a coleta
  task.file.meta.decorated = false;

  test('some test', ({ task }) => {
    // Atribuição de "decorated" durante a execução do teste, estará disponível
    // apenas no hook onTestCaseReady
    task.file.meta.decorated = false;
  });
});

TIP

Se os metadados foram anexados durante a fase de coleta (fora da função test), eles estarão acessíveis no hook onTestModuleCollected do reporter personalizado.

diagnostic ​

ts
function diagnostic(): ModuleDiagnostic;

Informações úteis sobre o módulo, como duração e uso de memória. Se o módulo ainda não foi executado, todos os valores de diagnóstico retornarão 0.

ts
interface ModuleDiagnostic {
  /**
   * O tempo necessário para importar e inicializar um ambiente.
   */
  readonly environmentSetupDuration: number;
  /**
   * O tempo que o Vitest leva para configurar o ambiente de teste (runner, mocks, etc.).
   */
  readonly prepareDuration: number;
  /**
   * O tempo que leva para importar o módulo de teste.
   * Isso inclui a importação de todo o conteúdo do módulo e a execução dos callbacks da suíte.
   */
  readonly collectDuration: number;
  /**
   * O tempo que leva para importar o módulo de configuração.
   */
  readonly setupDuration: number;
  /**
   * Duração acumulada de todos os testes e hooks dentro do módulo.
   */
  readonly duration: number;
  /**
   * A quantidade de memória utilizada pelo módulo em bytes.
   * Este valor está disponível apenas se o teste foi executado com a flag `logHeapUsage`.
   */
  readonly heap: number | undefined;
  /**
   * O tempo gasto importando cada dependência não externalizada que o Vitest processou.
   */
  readonly importDurations: Record<string, ImportDuration>;
}

/** O tempo gasto importando e executando um arquivo não externalizado. */
interface ImportDuration {
  /** O tempo gasto importando e executando o próprio arquivo, sem incluir todas as importações não externalizadas que ele realiza. */
  selfTime: number;

  /** O tempo gasto importando e executando o arquivo e todas as suas importações. */
  totalTime: number;
}
Pager
AnteriorTestSuite
PróximoTestCollection

Distribuído sob a Licença MIT.

Copyright (c) 2021-Present Vitest Team

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

Distribuído sob a Licença MIT.

Copyright (c) 2021-Present Vitest Team