🦁

【Vite×React】テスト環境構築のためにやったこと

2023/02/20に公開

Vite×Reactで構築中のアプリケーションに、VitestとRTLでテスト環境を構築する際にやったことをまとめます。

パッケージのインストール

npm i -D vitest @testing-library/react @testing-library/jest-dom jsdom

(書き漏らしてたらゴメソ・・)

package.jsonにscript追記

package.json
{
  ...
  "scripts": {
    ...
+    "test:watch": "vitest",
+    "test:run": "vitest run"
  },

vitest.setup.tsを作成

vitest.setup.ts
+ import matchers from '@testing-library/jest-dom/matchers'
+ import { expect } from 'vitest';
+
+ expect.extend(matchers); // expectのextendメソッドに拡張マッチャーを指定して拡張
+

vite.config.tsを編集

vite.config.ts
+ /// <reference types="vitest" />
import { defineConfig } from 'vite'

// https://vitejs.dev/config/
export default defineConfig({
  ...
+  test: {
+    globals: true,
+    environment: 'jsdom',
+    setupFiles: ['./vitest.setup.ts'],
+  },
})

tsconfig.jsonを編集

tsconfig.json
{
  ...
    "types": [
      "node",
      "vite-plugin-svgr/client",
+     "vitest/globals",
    ]
  },

参考記事

https://vitest.dev/guide/

https://zenn.dev/ogakuzuko/scraps/584b9fe0d23155

https://zenn.dev/longbridge/articles/9d9ec773cb3814

https://developer.mamezou-tech.com/blogs/2022/12/28/vitest-intro/

https://zenn.dev/akihisa1210/scraps/b41da8e2a3119f

https://zenn.dev/nozomi_iida/scraps/ff724bd4a0b325

Discussion