vitest-axe
Custom Vitest matcher for testing accessibility with aXe
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 --dev 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:
import * as matchers from "vitest-axe/matchers";
import { expect } from "vitest";
expect.extend(matchers);
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.
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"
],