naopoyo.com
  • Docs
  • Tags
  • Bookmarks
  • Tools
  • About
  • Docs
  • Tags
  • Bookmarks
  • Tools
  • About

目次

© naopoyo

目次

最近更新された記事

🔍

Claude Code の Explore エージェントについて

2日前·2026年02月07日
  • Claude Code
🚣

Tailwind CSS v4 で max-h-[300px] を max-h-75 に自動修正するための設定

3日前·2026年02月07日
  • Tailwind
  • ESLint
🧪

Rails 8 で作る RSpec テスト環境

4日前·2026年02月05日
  • Rails
  • Rspec
  • Ruby
🍕

Next.js + Vitest の環境構築手順

公開日4か月前2025-10-10
更新日17日前2026-01-23
履歴GitHubで見る
MarkdownRaw Content
  • Vitest
  • Next.js

必要なパッケージのインストール

Terminal
pnpm add -D -E vitest @vitest/browser-playwright @vitejs/plugin-react @testing-library/react @testing-library/dom @testing-library/jest-dom @testing-library/user-event vite-tsconfig-paths msw @vitest/coverage-v8 fishery @faker-js/faker

設定ファイルの作成

vitest.config.mts
import { defineConfig, defineProject } from 'vitest/config'
import { playwright } from '@vitest/browser-playwright'
import react from '@vitejs/plugin-react'
import tsconfigPaths from 'vite-tsconfig-paths'

export default defineConfig({
  test: {
    projects: [
      defineProject({
        test: {
          name: 'unit',
          include: ['**/__tests__/**/*.unit.{test,spec}.ts'],
          environment: 'node',
        },
      }),
      defineProject({
        plugins: [tsconfigPaths(), react()],
        test: {
          name: 'browser',
          include: ['**/__tests__/**/*.browser.{test,spec}.ts{,x}'],
          setupFiles: ['./vitest.setup.ts'],
          browser: {
            enabled: true,
            provider: playwright(),
            headless: true,
            instances: [{ browser: 'chromium' }],
          },
        },
      }),
    ],
  },
})
vitest.setup.ts
import '@testing-library/jest-dom/vitest'

package.json の scripts

package.json の scripts を次のように設定することで便利になります。

package.json
{
  "scripts": {
    // ...
    "test": "vitest",
    "test:coverage": "vitest run --coverage",
    "test:run": "vitest run"
    // ...
  },
}

playwright のインストール

Playwright の実行に必要なブラウザ本体と依存ライブラリを、以下のコマンドでインストールします。

Terminal
pnpm dlx playwright install --with-deps

playwright のアンインストールをしたい場合

Terminal
pnpm dlx playwright uninstall --all

参考

Testing: Vitest | Next.js
Learn how to set up Vitest with Next.js for Unit Testing.
nextjs.org favicon
nextjs.org
Testing: Vitest | Next.js
JSDOMを使ったReact Testing Library等のテストが時代遅れかも知れないので調べてみた
zenn.dev favicon
zenn.dev
JSDOMを使ったReact Testing Library等のテストが時代遅れかも知れないので調べてみた
Why I Won’t Use JSDOM
Explore how JSDOM's browser simulation works, and learn front-end testing approaches using Vitest Browser Mode for direct browser testing and native APIs
epicweb.dev favicon
epicweb.dev
Why I Won’t Use JSDOM
【Next.js × Vitest】Failed to load PostCSS config : [TypeError] Invalid PostCSS Plugin found at: plugins[0]の解決方法 - Qiita
はじめに Next.jsとVitestを使ってテストを実行していた際に発生したエラーについての記事です。 この記事は個人的なアウトプットを目的として作成したものです。そのため、誤った情報や不足している内容が含まれている可能性があります。もし間違いや気になる点がございま...
qiita.com favicon
qiita.com
【Next.js × Vitest】Failed to load PostCSS config : [TypeError] Invalid PostCSS Plugin found at: plugins[0]の解決方法 - Qiita