zudo-test-wisdom

Type to search...

to open search from anywhere

ツールリファレンス

各テストレベルのツールとコマンドのクイックリファレンス。

テストレベル別ツール

レベルツールインストール実行コマンド
1vitestpnpm add -D vitestpnpm vitest
1jestpnpm add -D jestpnpm jest
2vitest + jsdompnpm add -D vitest jsdompnpm vitest
2vitest + happy-dompnpm add -D vitest happy-dompnpm vitest
2@testing-library/reactpnpm add -D @testing-library/react(テスト内で使用)
3vitest(ビルドファイル読み取り)pnpm add -D vitestpnpm build && pnpm vitest --project build
4Playwrightpnpm add -D @playwright/testnpx playwright test
4headless-browser(Claude Codeスキル)/headless-browser
5verify-ui(Claude Codeスキル)/verify-ui
5headless-browser(Claude Codeスキル)/headless-browser

ツール機能マトリクス

機能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"],
  },
});

ワークスペースセットアップ(複数テストタイプ)

// vitest.workspace.ts
import { defineWorkspace } from "vitest/config";

export default defineWorkspace([
  {
    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-browser4、5スクリーンショット撮影、コンソールエラーチェック、ページ操作
/verify-ui5算出CSS値を決定論的にアサート
/test-wisdomどのテストレベルを使用すべきかのガイダンスを取得

Revision History