Skip to content

テスト構造ドキュメント

概要

項目
テストフレームワークVitest
実行環境jsdom (ブラウザ環境シミュレート)
テストファイル数81 ファイル
describe ブロック数503
test/it ブロック数947
カバレッジ閾値lines/functions/branches/statements すべて 60%

テスト実行コマンド

bash
yarn test               # Vitest (watch mode)
yarn test:unit          # Unit テスト一括実行
yarn test:ci            # CI用 (型チェック + カバレッジ付き)
yarn coverage           # カバレッジレポート生成

設定ファイル

vitest.config.ts

設定
environmentjsdom
globalstrue
setupFiles./vitest.setup.ts
poolthreads
singleThreadtrue
maxConcurrency1
testTimeout30000ms
coverage providerv8
coverage reportertext, lcov, html, json-summary

テスト対象パス (include)

  • src/**/*.{test,spec}.{ts,tsx,js,jsx}
  • electron/**/__tests__/*.{test,spec}.{ts,tsx,js,jsx}
  • electron/__tests__/*.{test,spec}.{ts,tsx,js,jsx}
  • src/**/__tests__/*.{test,spec}.{ts,tsx,js,jsx}

除外パス (exclude)

  • electron-dist/**, node_modules/**, dist/**, release/**

モック設定

エイリアス対象
*/imageImportssrc/utils/__mocks__/imageImports.ts

グローバルセットアップ (vitest.setup.ts)

  • @testing-library/jest-dom のインポート
  • localStorage モックの定義・グローバル設定
  • window.electronAPI の初期化 (undefined)

テストファイル配置規則

  • テスト対象のソースファイルと同じディレクトリに __tests__/ フォルダを配置
  • またはソースファイルと同階層に <filename>.test.ts(x) を配置
  • 拡張子: .test.ts, .test.tsx, .spec.ts, .spec.tsx

ディレクトリ別テスト一覧

electron/

electron/__tests__/

ファイルdescribetest/it内容
database.test.ts4414データベース基本操作
logger.test.ts238ロガーユーティリティ
main_utils.test.ts32メインプロセスユーティリティ

electron/database/__tests__/

ファイルdescribetest/it内容
DatabaseConnection.test.ts3716DB接続管理
StatsService.test.ts4610統計サービス

electron/ipc/__tests__/

ファイルdescribetest/it内容
DatabaseAdminHandlers.test.ts101DB管理IPCハンドラー
MatchHandlers.test.ts141試合データIPCハンドラー
ProfileHandlers.test.ts81プロファイルIPCハンドラー
SeasonHandlers.test.ts91シーズンIPCハンドラー
StatsHandlers.test.ts121統計IPCハンドラー

electron/services/__tests__/

ファイルdescribetest/it内容
LogWatcherService.test.ts31ログ監視サービス
ResponseStorageService.test.ts117レスポンス保存サービス
UserSettingsService.test.ts63ユーザー設定サービス

electron/windows/__tests__/

ファイルdescribetest/it内容
WindowStateStore.test.ts61ウィンドウ状態管理

src/components/common/__tests__/

ファイルdescribetest/it内容
TabErrorBoundary.test.tsx16タブエラーバウンダリ

src/components/hooks/__tests__/

ファイルdescribetest/it内容
useAssistPanels.test.ts19アシストパネル制御
useStartupImport.test.ts19スタートアップインポート

src/components/tabs/browser-automation/hooks/__tests__/

ファイルdescribetest/it内容
useBrowserAutomationState.test.ts112ブラウザ自動化状態管理

src/components/tabs/common/components/__tests__/

ファイルdescribetest/it内容
ContextGuidePanel.test.tsx12コンテキストガイドパネル
OperationalChecklistPanel.test.tsx12運用チェックリストパネル
ProfileManagerView.test.tsx525プロファイル管理ビュー
WorkflowProgressPanel.test.tsx12ワークフロー進捗パネル

src/components/tabs/common/hooks/__tests__/

ファイルdescribetest/it内容
useProfileManager.test.ts632プロファイル管理ロジック

src/components/tabs/common/hooks/

ファイルdescribetest/it内容
useMatchTableData.test.ts511試合テーブルデータ取得

src/components/tabs/db-viewer/components/__tests__/

ファイルdescribetest/it内容
MatchDetailView.test.tsx125試合詳細ビュー

src/components/tabs/db-viewer/hooks/__tests__/

ファイルdescribetest/it内容
useMatchDetail.test.ts15試合詳細データ取得
useMatchListState.test.ts110試合一覧状態管理

src/components/tabs/log-analysis/hooks/__tests__/

ファイルdescribetest/it内容
useLogAnalysisState.test.ts17ログ解析状態管理
useProfileSelection.test.ts15プロファイル選択
useRealtimeDeckTracker.test.ts19リアルタイムデッキトラッカー
useRealtimeWatcherControls.test.ts124リアルタイム監視制御
useStaticAnalysis.test.ts18静的解析
useStatisticsComputation.test.ts14統計計算

src/components/tabs/player-dashboard/hooks/__tests__/

ファイルdescribetest/it内容
useCharacterMatchupChartData.test.ts1323キャラ対戦チャートデータ
useCharacterMatchups.test.ts87キャラ対戦統計
useCharacterStats.test.ts68キャラ統計
useCharacterStatsChartData.test.ts56キャラ統計チャートデータ
useCharacterWinRateChartData.test.ts1429キャラ勝率チャートデータ
useMatchesData.test.ts79試合データ取得
useOpponentDetails.test.ts816対戦相手詳細
useOpponentsAvailableChartData.test.ts66対戦相手所持キャラデータ
useOpponentStats.test.ts713対戦相手統計
usePerformanceMetrics.test.ts811パフォーマンス指標
usePlayerDashboardState.test.ts15ダッシュボード状態管理
useSeasonAnalytics.test.ts328シーズン分析

src/components/tabs/realtime-analysis/hooks/__tests__/

ファイルdescribetest/it内容
useBrowserAutomation.test.ts110ブラウザ自動化

src/components/tabs/settings/components/__tests__/

ファイルdescribetest/it内容
ThemeSelector.test.tsx13テーマ選択

src/hooks/__tests__/

ファイルdescribetest/it内容
useElectronEvent.test.ts29Electronイベントハンドリング
useLocalStorageState.test.ts18localStorage状態管理
useLogWatcher.test.ts841ログ監視フック
useLogWatcherSettings.test.ts13ログ監視設定
useMatchConverter.test.ts16試合データ変換

src/screens/bp-opponent/__tests__/

ファイルdescribetest/it内容
BPOpponentContainer.test.tsx19BP対戦相手コンテナ
BPOpponentView.test.tsx114BP対戦相手ビュー

src/screens/bp-opponent/hooks/__tests__/

ファイルdescribetest/it内容
useBPOpponentData.test.ts17BP対戦相手データ
useBPOpponentStats.test.ts113BP対戦相手統計
useUserSettings.test.ts214ユーザー設定

src/store/

ファイルdescribetest/it内容
useOverlayStore.test.ts1443オーバーレイストア (最大規模)

src/store/__tests__/

ファイルdescribetest/it内容
index.test.ts818ストア基本テスト
useOverlayStore-sync.spec.ts11ストア同期テスト

src/store/sync/

ファイルdescribetest/it内容
compositeAdapter.test.ts69複合アダプター

src/store/sync/__tests__/

ファイルdescribetest/it内容
broadcastAdapter.spec.ts12BroadcastChannel同期
electronAdapter.spec.ts12Electron IPC同期
localStorageAdapter.spec.ts12localStorage同期
wsAdapter.spec.ts12WebSocket同期

src/utils/

ファイルdescribetest/it内容
Logger.test.ts311ロガーユーティリティ
configSync.test.ts730設定同期
formatters.test.ts417フォーマッター

src/utils/__tests__/

ファイルdescribetest/it内容
obsUtils.spec.ts47OBS関連ユーティリティ

src/utils/electronAPI/__tests__/

ファイルdescribetest/it内容
config.test.ts49設定API
database.test.ts616データベースAPI
events.test.ts23イベントAPI
fileSystem.test.ts39ファイルシステムAPI
import.test.ts36インポートAPI
system.test.ts49システムAPI
userSettings.test.ts24ユーザー設定API
window.test.ts616ウィンドウAPI

src/utils/logAnalyzer/__tests__/

ファイルdescribetest/it内容
CharacterService.test.ts618キャラクターサービス
LogIntegration.test.ts13ログ統合テスト
LogParser.selfcontained.test.ts922ログパーサー (自己完結型)
LogParser.test.ts511ログパーサー基本
LogParserCore.test.ts11ログパーサーコア基本
StatisticsCalculator.test.ts38統計計算

src/utils/logAnalyzer/core/

ファイルdescribetest/it内容
LogParserCore.test.ts1766ログパーサーコア詳細 (最大規模)
StreamLogParserV2.regression.test.ts11ストリームパーサー回帰テスト
StreamLogParserV2.test.ts821ストリームパーサー基本

src/utils/logAnalyzer/core/__tests__/

ファイルdescribetest/it内容
StreamLogParserV2.availableChars.test.ts08所持キャラ枠追跡

テスト規模トップ5

ファイルtest/it数カテゴリ
src/utils/logAnalyzer/core/LogParserCore.test.ts66ログ解析コア
src/store/useOverlayStore.test.ts43状態管理
src/hooks/__tests__/useLogWatcher.test.ts41ログ監視
src/utils/configSync.test.ts30設定同期
src/components/tabs/player-dashboard/hooks/__tests__/useCharacterWinRateChartData.test.ts29プレイヤーダッシュボード

テストカテゴリ別集計

カテゴリファイル数test/it数対象モジュール
ログ解析10168src/utils/logAnalyzer/
プレイヤーダッシュボード12161src/components/tabs/player-dashboard/
Electronバックエンド1473electron/
状態管理・同期877src/store/
共通フック567src/hooks/
BP対戦相手543src/screens/bp-opponent/
共通コンポーネント669src/components/tabs/common/
DBビューアー340src/components/tabs/db-viewer/
ログ解析タブ657src/components/tabs/log-analysis/
Electron APIラッパー872src/utils/electronAPI/
ユーティリティ465src/utils/ (logAnalyzer以外)
その他434共通UI, ブラウザ自動化, リアルタイム分析, 設定