MulmoCast の QA テストスイートを作成します。
手順
Step 1: Playbook と既存テストの読み込み
以下を読み込んでコンテキストに載せること:
- •Playbook:
docs/qa_playbook.md— パターン・アンチパターン集 - •既存テスト一覧:
test/ディレクトリの QA テストファイル名を Glob で取得 - •テスト対象の理解: ユーザーが指定した機能に関連するソースコードを調査
Step 2: テスト対象の確認
ユーザーに以下を確認する:
- •対象機能: 何をテストするか(例: 「新しい Settings セクション」「新しい UI コンポーネント」)
- •API コスト: テスト中に外部 API を呼ぶか → ファイル名の
no_api_プレフィックスを決定 - •スコープ: テスト範囲(UI のみ / JSON 連携含む / Settings 含む)
- •前提条件: アプリの状態(Pro モード必須か、特定の設定が必要か)
Step 3: テスト設計
Playbook の「Phase 分割」に従ってテスト構成を設計する:
- •Phase 列挙: Setup → Core Feature → Integration → Health の順で Phase を定義
- •テスト項目リスト: 各 Phase のテスト項目を箇条書きで作成
- •双方向テスト: UI → JSON、JSON → UI の両方を含めること
- •空値テスト: Settings 空の状態でのテストを含めること
設計をユーザーに提示して承認を得る。
Step 4: テストコード生成
Playbook のパターンに従ってコードを生成する:
- •共通インフラ:
connectCDP,findAppPage,record,createConsoleMonitorを Playbook から流用 - •CONFIG: テスト固有のタイミング定数を定義
- •ヘルパー関数: 既存テストから再利用できるヘルパーを特定し、必要に応じてコピーまたは新規作成
- •テスト関数: Phase ごとにテスト関数を作成
- •メイン IIFE: Phase の実行順序を定義、サマリ出力
Step 5: 実行と修正
テストが作成できたらユーザーに実行を依頼する(npx tsx test/{filename}.ts)。
結果に応じて修正を繰り返す。
Step 6: ドキュメント更新
- •
test/README.mdにテストの説明を追加 - •
docs/qa_playbook.mdに新しい知見があれば追記
重要なルール
- •Playbook を必ず先に読むこと — 毎回
docs/qa_playbook.mdを読み込んでからコードを書く - •Monaco の扱い —
EDITOR_SETTLE_DELAY_MSを忘れない。JSON タブから離れる前に必ず待つ - •テスト値のユニーク性 —
Date.now()ベースのrunIdで毎回異なる値を使う - •WARN を放置しない — WARN が出たら仕様かバグかユーザーに確認する
- •新しい知見は Playbook に追記 — テスト作成中に発見したパターンは
docs/qa_playbook.mdに追加する