Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

vitest-dom

chaance243.5kMIT0.1.1TypeScript support: included

Custom Vitest matchers to test the state of the DOM, forked from jest-dom.

readme

vitest-dom

Custom Vitest matchers to test the state of the DOM


version MIT License

Watch on GitHub

This library is a fork of @testing-library/jest-dom. It shares that library's implementation and API. It is intended to make it easier to include its matchers without clashes between Vitest and Jest's environment or types.

See the README for the original package for usage details.

Installation

This module should be installed as one of your project's devDependencies:

# with npm
npm install --save-dev vitest-dom
# yarn
yarn add --dev vitest-dom
# pnpm
pnpm add --dev vitest-dom

Usage

Import the matchers from vitest-dom/matchers once (perferably in your tests setup file), then pass them to Vitest's expect.extend method:

// vitest-setup.js
import * as matchers from "vitest-dom/matchers";
import { expect } from "vitest";
expect.extend(matchers);

// or:
import "vitest-dom/extend-expect";

// In vitest.config.js, add the following
export default defineConfig({
  test: {
    setupFiles: ["vitest-setup.js"],
  },
});

With TypeScript

If you're using TypeScript, make sure your setup file has a .ts extension to include the necessary types.

If you import from vitest-dom/extend-expect to run expect.extend for you, you will get TypeScript support automatically.

// vitest-setup.ts
import "vitest-dom/extend-expect";

If you want to run extend.expect yourself, you will need to include the type defintions either with a /// <reference /> directive or including the type in your compilerOptions:

  1. In your test file via a reference directive:
    /// <reference types="vitest-dom/extend-expect" />
  2. In your tsconfig.json via the types compiler option:
    {
      "compilerOptions": {
        "types": ["vitest-dom/extend-expect"]
      }
    }

changelog

vitest-dom

v0.0.5

  • Loosened the dependency on vitest to allow for versions between 0.16 and 0.30
  • Added missing type export for toBeDisabled

v0.0.6

  • Actually call extend.expect in extend-expect module (whoops!)

v0.1.0

  • Bumped peer dependency on vitest to ^0.31.0, as Vitest has made some breaking changes to its TypeScript API. We have updated our types to consume and extend the new types.
  • We no longer augment the global expect type, as this is only desired when the user opts in to importing globals from vitest. Users will need to explicitly follow the Vitest's guidance to get global types.
  • We now use the css.escape package to polyfill CSS.escape in toHaveFormValues matcher. This will use the built-in CSS.escape if it is detected in your runtime.

v0.1.1

  • Relaxed peerDependency on Vitest (#7)
  • Updated internal dependencies