Skip to content

Vitest API ​

untestutils/vitest/plugin ​

OptionTypeDescription
recipesRecipeRegistryFrom defineRecipes(..., import.meta.url)
recipesModulestring?Rare path override
artifactsRootstring?Artifacts directory
sessionstring?Isolate under .untestutils/sessions/<session>/ (shared with Playwright)
prewarmstring[]Ids to prepare/start
browsersHarnessBrowserName[]?Default ['chromium']; multiple → injectTestProjects
coverageboolean | CreateCoverageConfigOptionsMerge Vitest coverage
prewarmConcurrencynumber?Parallel prewarm limit (default cpus / 2)
buildTimeoutnumber | falsetest.override({ harness }) build budget (default hookTimeout; false = build in first test)
gcboolean | { keep?: number }Build cache GC at teardown (default keep 2 per recipe; keep ≥ 1)
hydration'strict' | 'lenient'Implicit goto hydration timeout throws (default) or is ignored; explicit waitUntil: 'hydration' | 'route' stays strict
retryInfranumber?Sets retry: { count, condition: INFRA_ERROR_PATTERN } unless retry is set

Also: RetryReporter, infraRetry(count), INFRA_ERROR_PATTERN, createCoverageConfig(), createVitestProjects({ e2e, unit }), HARNESS_BROWSER_NAMES, normalizeHarnessBrowsers.

Session context is provide/inject (untestutils, untestutilsBrowser); env remains fallback for CLI/PW.

untestutils/vitest (specs) ​

Exports: test, describe, expect, useHarness, defineRecipes, fixtures (harness, page, goto, baseURL, request, browserName).

See Vitest guide.

Released under the MIT License.