Skip to content
Vitest 3
Main Navigation Průvodce & APIKonfiguraceRežim prohlížečePokročilé API
3.2.0
2.1.9
1.6.1
0.34.6

čeština

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

čeština

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

Vzhled

Sidebar Navigation

API

Node API

Rozšířené API

Vitest API

TestProject

TestSpecification

Test Task API

TestCase

TestSuite

TestModule

TestCollection

Plugin API

Runner API

Reportéry

Metadata úloh

Průvodce

Spouštění testů

Rozšíření reportérů

Vlastní pool

Konfigurace Vitestu

Testovací reference API

Na této stránce

Rozšíření reportérů ​

WARNING

Toto je pokročilé API. Pokud chcete pouze konfigurovat vestavěné reportéry, přečtěte si průvodce "Reportéři".

Můžete importovat reportéry z vitest/reporters a rozšířit je pro vytvoření vlastních reportérů.

Rozšíření vestavěných reportérů ​

Obecně nemusíte vytvářet svůj reportér od začátku. vitest obsahuje několik výchozích reportovacích nástrojů, které můžete rozšířit.

ts
import { DefaultReporter } from 'vitest/reporters';

export default class MyDefaultReporter extends DefaultReporter {
  // implementujte funkci
}

Samozřejmě si můžete vytvořit svůj reportér od nuly. Stačí rozšířit třídu BaseReporter a implementovat metody, které potřebujete.

A zde je příklad vlastního reportéra:

ts
import { BaseReporter } from 'vitest/reporters';

export default class CustomReporter extends BaseReporter {
  onCollected() {
    const files = this.ctx.state.getFiles(this.watchFilters);
    this.reportTestSummary(files);
  }
}

Nebo implementujte rozhraní Reporter:

ts
import type { Reporter } from 'vitest/node';

export default class CustomReporter implements Reporter {
  onCollected() {
    // vypište něco
  }
}

Poté můžete použít svůj vlastní reportér v souboru vitest.config.ts:

ts
import { defineConfig } from 'vitest/config';
import CustomReporter from './custom-reporter.js';

export default defineConfig({
  test: {
    reporters: [new CustomReporter()],
  },
});

Úlohy pro reportování ​

Místo přímého použití úloh, které reportéři obdrží, se doporučuje použít API pro reportované entity.

K tomuto API se dostanete voláním vitest.state.getReportedEntity(runnerTask):

ts
import type { Reporter, RunnerTestFile, TestModule, Vitest } from 'vitest/node';

class MyReporter implements Reporter {
  private vitest!: Vitest;

  onInit(vitest: Vitest) {
    this.vitest = vitest;
  }

  onFinished(files: RunnerTestFile[]) {
    for (const file of files) {
      // Poznámka: stará implementace úloh používá "file" místo "module"
      const testModule = this.vitest.state.getReportedEntity(
        file
      ) as TestModule;
      for (const task of testModule.children) {
        //                          ^?
        console.log('finished', task.type, task.fullName);
      }
    }
  }
}

Exportované reportéry ​

vitest obsahuje několik vestavěných reportérů, které můžete použít okamžitě.

Vestavěné reportéry: ​

  1. BasicReporter
  2. DefaultReporter
  3. DotReporter
  4. JsonReporter
  5. VerboseReporter
  6. TapReporter
  7. JUnitReporter
  8. TapFlatReporter
  9. HangingProcessReporter

Základní abstraktní reportéry: ​

  1. BaseReporter

Rozhraní pro reportéry: ​

  1. Reporter
Pager
Předchozí stránkaSpouštění testů
Další stránkaVlastní pool

Vydáno pod licencí MIT.

Copyright (c) 2021-Present Vitest Team

https://vitest.dev/advanced/reporters

Vydáno pod licencí MIT.

Copyright (c) 2021-Present Vitest Team