drwpow / vitest-axe

Custom Vitest matcher for testing accessibility with aXe. Forked from jest-axe.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

vitest-axe

Custom Vitest matcher for testing accessibility with aXe


version MIT License

Watch on GitHub

This library is a fork of jest-axe. 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-axe
# yarn
yarn add --dev vitest-axe
# pnpm
pnpm add --D vitest-axe

Usage

Import the matchers from vitest-axe/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-axe/matchers";
import { expect } from "vitest";
expect.extend(matchers);

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

With TypeScript

If you're using TypeScript, make sure your setup file is a .ts and not a .js to include the necessary types. Importing from vitest-axe/extend-expect will add the matchers to Vitest's expect types.

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

You will also need to include your setup file in your tsconfig.json if you haven't already:

  // In tsconfig.json
  "include": [
    // ...
    "./vitest-setup.ts"
  ],

About

Custom Vitest matcher for testing accessibility with aXe. Forked from jest-axe.

License:MIT License


Languages

Language:TypeScript 81.4%Language:JavaScript 18.6%