← ClaudeAtlas

external-mock-utlisted

外部 API を呼ぶ単体テストを mock サーバ経由で実行する工程独自 skill。`.ai-rules/mock-server-config.md` が存在する工程でのみ発動する。詳細設計から起こした UT case の response を mock サーバへ登録し、mock モードで UT を実行し、後始末まで責任を持つ。Developer が外部依存(決済 / 在庫 / SMS 等)を含む UT を書くとき、mock サーバの URL や登録 API を直接叩く前に必ずこの skill を読むこと。「mock サーバに case を追加して UT を回したい」「外部 API を mock 化して単体テストを書きたい」「fixture を WireMock / mock-server に登録したい」といった依頼で確実に発動させる。
Saigetsu233/harness-jp-si · ★ 0 · Testing & QA · score 60
Install: claude install-skill Saigetsu233/harness-jp-si
# 外部 Mock UT 実行スキル 本 skill は外部 API への依存を mock サーバで擬装した単体テストを **設計 → 登録 → 実行 → 後始末** の流れで完遂させる。 工程独自 skill であり、`.ai-rules/mock-server-config.md` を「設計図」として動作する。 --- ## 0. 前提条件チェック skill 発動直後、以下を順に確認する。**いずれかが満たされない場合は即座に発動を中止**し、ユーザに不足を報告。 | チェック | 不足時の振る舞い | | --- | --- | | `<工程ルート>/.ai-rules/mock-server-config.md` が存在 | 「mock-server-config が未設定です。`project-template/.ai-rules/mock-server-config.md.template` をコピーして記入してください」と返して中止 | | §1「採用要否」が「採用する」 | 「本工程では mock UT 採用外です。通常 UT フローに戻ります」と返して中止 | | §3 で Pattern A/B/C のいずれか 1 つが選択済み | 「Case 登録方式が未確定です。`mock-server-config.md` §3 で 1 つ選択してください」と返して中止 | | §6 にテスト実行コマンドあり | コマンド未記入なら developer に確認 | 中止時は通常 UT フロー([`unit-test-design`](../../../../skills/unit-test-design/SKILL.md) のみ)に戻すよう案内する。 --- ## 1. Config 読み込み `mock-server-config.md` から以下を抽出して以降の Step で使用: - 採用 Pattern(A / B / C) - Base URL(環境 — local / CI / staging) - 認証方式と secret 参照名 - Mock 対象 API 一覧 - Case 命名規約(TC-ID 形式、mapping ID 形式、fixture file 名) - Response Fixture フォーマットと matcher の厳密度 - 実行コマンド - クリーンアップ方針 - 運用窓�� --- ## 2. UT Case を取得(既存 skill に委譲) case 設計そのものは [`unit-test-design`](../../../../skills/unit-test-design/SKILL.md) skill の責務。本 skill では **再発明しない**。 - TC 表が既存ならそれを再利用 - 新規ならまず `unit-test-design` を発動し、観点別(正常 / 異常 / 境界 / セキュリティ)に TC 表を作成 - 本 skill は TC 表のうち **外部 API を呼ぶ case** のみを抽出して以降の Step に進める 詳細設計書の「外部 I/F」「処理ロジック」節を参照して、どの case が外部 API を呼ぶか判定。 --- ## 3. 各 case に必要な mock response を起こす case ごとに mock サーバへ登録する response を組み立てる。 ### 3.1 設計の source