Skip to content
Vitest 3
Main Navigation Útmutató & APIKonfigurációBöngésző módHaladó API
3.2.0
2.1.9
1.6.1
0.34.6

magyar

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

Megjelenés

Sidebar Navigation

API

Node API

Haladó API

Vitest API

TestProject

TestSpecification

Test Task API

TestCase

TestSuite

TestModule

TestCollection

Plugin API

Futtató API

Jelentők

Feladat metaadatok

Útmutató

Tesztfuttatás

Jelentéskészítők kiterjesztése

Egyéni Pool

Vitest konfigurálása

Teszt API Referencia

Ezen az oldalon

Plugin API 3.1.0+ ​

WARNING

Ez egy haladó API. Ha csak teszteket szeretne futtatni, valószínűleg nincs szüksége rá. Elsősorban könyvtárfejlesztők használják.

Ez az útmutató feltételezi, hogy ismeri a Vite bővítmények használatát.

A Vitest a 3.1-es verzió óta támogatja a kísérleti configureVitest plugin hookot. Bármilyen visszajelzést szívesen fogadunk az API-val kapcsolatban a GitHubon.

ts
import type { Vite, VitestPluginContext } from 'vitest/node';

export function plugin(): Vite.Plugin {
  return {
    name: 'vitest:my-plugin',
    configureVitest(context: VitestPluginContext) {
      // ...
    },
  };
}
ts
/// <reference types="vitest/config" />

import type { Plugin } from 'vite';

export function plugin(): Plugin {
  return {
    name: 'vitest:my-plugin',
    transform() {
      // ...
    },
    configureVitest(context) {
      // ...
    },
  };
}

TypeScript

A Vitest újraexportálja az összes Vite-ból származó típusimportot egy Vite névtéren keresztül, amelyet használhat a verziók szinkronban tartásához. Azonban, ha egy bővítményt ír mind a Vite, mind a Vitest számára, továbbra is használhatja a Plugin típust a vite belépési pontból. Csak győződjön meg róla, hogy a vitest/config valahol hivatkozva van, hogy a configureVitest megfelelően kiegészüljön:

ts
/// <reference types="vitest/config" />

Ellentétben a reporter.onInit hookkal, ez a hook korán fut a Vitest életciklusában, lehetővé téve a konfigurációk, például a coverage és a reporters módosítását. Egy figyelemre méltóbb változás, hogy manipulálhatja a globális konfigurációt egy tesztprojektből, ha a bővítménye a projektben van definiálva, és nem a globális konfigurációban.

Kontextus ​

project ​

Az aktuális tesztprojekt, amelyhez a bővítmény tartozik.

Böngésző mód

Vegye figyelembe, hogy ha böngésző funkcióra támaszkodik, a project.browser mező még nincs beállítva. Ehelyett használja a reporter.onBrowserInit eseményt.

vitest ​

A globális Vitest példány. A globális konfigurációt közvetlenül módosíthatja a vitest.config tulajdonságon keresztül:

ts
vitest.config.coverage.enabled = false;
vitest.config.reporters.push([['my-reporter', {}]]);

A konfiguráció feloldva

Vegye figyelembe, hogy a Vitest már feloldotta a konfigurációt, így egyes típusok eltérhetnek a szokásos felhasználói konfigurációtól. Ez azt is jelenti, hogy egyes tulajdonságok nem lesznek újra feloldva, mint például a setupFiles. Ha új fájlokat ad hozzá, győződjön meg róla, hogy először feloldja azokat.

Ezen a ponton a riportálók még nincsenek létrehozva, így a vitest.reporters módosítása nem lesz hatással, mert azt felül fogják írni. Ha saját riportálót kell injektálnia, ehelyett módosítsa a konfigurációt.

injectTestProjects ​

ts
function injectTestProjects(
  config: TestProjectConfiguration | TestProjectConfiguration[]
): Promise<TestProject[]>;

Ez a metódus elfogad egy konfigurációs globmintát, egy fájl elérési utat a konfigurációhoz, vagy egy beágyazott konfigurációt. Egy feloldott tesztprojekt tömböt ad vissza.

ts
// egyetlen projekt injektálása egyéni alias-szal
const newProjects = await injectTestProjects({
  // örökölheti az aktuális projekt konfigurációját az `extends` használatával
  // vegye figyelembe, hogy nem lehet olyan projektje, amelynek neve már létezik,
  // ezért ajánlott egy egyedi nevet megadni
  extends: project.vite.config.configFile,
  test: {
    name: 'my-custom-alias',
    alias: {
      customAlias: resolve('./custom-path.js'),
    },
  },
});

A projektek szűrve vannak

A Vitest a konfiguráció feloldása során szűri a projekteket, így ha a felhasználó szűrőt definiált, az injektált projekt nem biztos, hogy feloldódik, hacsak nem egyezik a szűrővel. Frissítheti a szűrőt a vitest.config.project opcióval, hogy mindig tartalmazza a tesztprojektjét:

ts
vitest.config.project.push('my-project-name');

Vegye figyelembe, hogy ez csak az injectTestProjects metódussal injektált projekteket érinti.

Az aktuális konfigurációra hivatkozás

Ha meg szeretné tartani a felhasználói konfigurációt, megadhatja az extends tulajdonságot. Az összes többi tulajdonság egyesül a felhasználó által definiált konfigurációval.

A projekt configFile elérhető a Vite konfigurációjában: project.vite.config.configFile.

Vegye figyelembe, hogy ez a name tulajdonságot is örökli – a Vitest nem engedélyez több projektet azonos névvel, így ez hibát fog dobni. Győződjön meg róla, hogy más nevet adott meg. Az aktuális nevet a project.name tulajdonságon keresztül érheti el, és az összes használt név elérhető a vitest.projects tömbben.

Pager
Előző oldalTestCollection
Következő oldalFuttató API

A MIT licenc alapján kiadva.

Copyright (c) 2021-Present Vitest Team

https://vitest.dev/advanced/api/plugin

A MIT licenc alapján kiadva.

Copyright (c) 2021-Present Vitest Team