zudo-test-wisdom
GitHub リポジトリ

検索したい単語を入力

いつでも検索バーを開ける

ツールクイックリファレンス

テストレベル別のツールのインストール・実行コマンド、機能マトリクス、Vitest/Playwright設定スニペット。

テストレベル別ツール

レベルツールインストール実行コマンド
1vitestpnpm add -D vitestpnpm vitest run
1jestpnpm add -D jestpnpm jest
1vitest + Miniflare(バックエンド/Workers)pnpm add -D vitest miniflarepnpm vitest run
1vitest + @cloudflare/vitest-pool-workers(in-worker/Workers)pnpm add -D vitest @cloudflare/vitest-pool-workerspnpm vitest run
2vitest + jsdompnpm add -D vitest jsdompnpm vitest run
2vitest + happy-dompnpm add -D vitest happy-dompnpm vitest run
2@testing-library/reactpnpm add -D @testing-library/react(テスト内で使用)
2vitestブラウザモード(@vitest/browser + Playwright)pnpm add -D vitest @vitest/browser playwrightpnpm vitest run --project browser
3vitest(ビルドファイル読み取り)pnpm add -D vitestpnpm build && pnpm vitest run --project build
3cheerio + fs/pathpnpm add -D cheerio(テスト内で使用)
3 / 4リンクチェック + html-validate(サイト整合性ゲートpnpm add -D html-validatepnpm build && pnpm check:html && pnpm check:links
4Playwrightpnpm add -D @playwright/test の後に npx playwright install --with-depsnpx playwright test
4headless-browser(Claude Codeスキル)/headless-browser
5verify-ui(Claude Codeスキル)/verify-ui
5headless-browser(Claude Codeスキル)/headless-browser
5Playwright toHaveScreenshot()ビジュアルリグレッションのベースラインpnpm add -D @playwright/testnpx playwright test --update-snapshots(ベースライン作成)/ npx playwright test(検証)
6verify-ui-ai(最終手段、CI不可(Claude Codeスキル)/verify-ui-ai

素の vitest はウォッチモードで起動し、終了しない -- ワンショット/CI/エージェント実行では vitest run を使うこと。@playwright/test パッケージだけではブラウザバイナリは含まれない。playwright install --with-deps がブラウザ本体とOSレベルの依存関係をまとめてダウンロードする。

ツール機能マトリクス

機能vitestvitest+jsdomPlaywrightverify-uiheadless-browser
純粋関数テストはいはい------
DOM構造--はいはい----
ユーザーイベント--はいはい----
CSS算出スタイル----はいはい--
視覚的スクリーンショット----はいはいはい
コンソールエラー----はい--はい
複数ページナビゲーション----はい--はい
ビルド出力はい--------
レスポンシブビューポート----はいはいはい

Vitest設定クイックリファレンス

最小限のユニットテストセットアップ

// vitest.config.ts
import { defineConfig } from "vitest/config";

export default defineConfig({
  test: {
    include: ["src/**/*.test.ts"],
  },
});

コンポーネントテストセットアップ(jsdom)

// vitest.config.ts
import { defineConfig } from "vitest/config";

export default defineConfig({
  test: {
    environment: "jsdom",
    include: ["src/**/*.test.tsx"],
    setupFiles: ["./test-setup.ts"],
  },
});

projectsセットアップ(複数テストタイプ)

// vitest.config.ts
import { defineConfig } from "vitest/config";

export default defineConfig({
  test: {
    projects: [
      {
        test: { name: "unit", include: ["src/**/*.test.ts"], environment: "node" },
      },
      {
        test: {
          name: "component",
          include: ["src/**/*.test.tsx"],
          environment: "jsdom",
        },
      },
      {
        test: {
          name: "build",
          include: ["tests/build/**/*.test.ts"],
          environment: "node",
        },
      },
    ],
  },
});

Playwright設定クイックリファレンス

基本セットアップ

// playwright.config.ts
import { defineConfig } from "@playwright/test";

export default defineConfig({
  testDir: "./e2e",
  use: {
    baseURL: "http://localhost:3000",
  },
  webServer: {
    command: "pnpm dev",
    port: 3000,
    reuseExistingServer: !process.env.CI,
  },
});

WebKit専用(Tauri向け)

// playwright.config.ts
import { defineConfig, devices } from "@playwright/test";

export default defineConfig({
  projects: [
    { name: "webkit", use: { ...devices["Desktop Safari"] } },
  ],
});

本番ビルドテスト

// playwright.config.ts
import { defineConfig } from "@playwright/test";

export default defineConfig({
  webServer: {
    command: "pnpm build && pnpm preview",
    port: 4173,
    reuseExistingServer: !process.env.CI,
  },
});

Claude Codeスキルコマンド

コマンドレベル目的
/headless-browser45スクリーンショット撮影、コンソールエラーチェック、ページ操作
/verify-ui5算出CSS値を決定論的にアサート
/verify-ui-ai6L4が困難かつL5でもアサーションに到達できない場合のAI判定による視覚的検証 -- CIでは絶対に使わない
/test-wisdom--どのテストレベルを使用すべきかのガイダンスを取得

関連ページ

Revision History

作成更新