mcpField
N
ns-pm-unit-test-task-generator

ns-pm-unit-test-task-generator

github.com/nextstage-brasilテスト・品質043 回インストール5 日前に更新
リポジトリ

ns-pm-unit-test-task-generator について

バックエンドの単体テストと HTTP 統合テストを計画し、機能ごとの Markdown タスクファイルを作成するスキルです。既存の実装タスクとテストを結び付け、テナント分離の検証を重視します。

主な機能

  1. 01バックエンドテストタスクの作成
  2. 02単体・HTTP統合テストの計画
  3. 03リクエスト、サービス、モデル、コントローラーの検証
  4. 04テナント間シナリオの追加
  5. 05実装タスクとの依存関係の記載

活用シーン

  1. 01バックエンド機能のテスト計画
  2. 02テナント分離チェックのテスト計画への追加
  3. 03テスト実装前の PHPUnit タスク準備

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/nextstage-brasil/skills --skill ns-pm-unit-test-task-generator

インストール後、Claude Code で/ns-pm-unit-test-task-generatorを入力して読み込まれたか確認します。

同梱ファイルevals/evals.json

詳細

ユニットテストタスクジェネレーター

Feature を対象とするバックエンドのユニットテストと HTTP 統合テスト用に、task-NNN-*.md を作成します。

範囲

  • 計画: このスキル(タスクの Markdown)
  • 実行: タスクごとにテストを実装します — ns-code-backend-tests または実装ワークフローを使用してください

テストハーネスの確認

{harness}/rules/backend-tests-rules.mdc と backend-rules.mdc が存在する場合は読み込みます。

入力

  • 対象とする Feature
  • すでに生成済みのバックエンド実装タスクのリスト
  • requirements.md のデータモデル

テストピラミッド(バックエンド)

        [ E2E ]  ← ns-pm-e2e-test-task-generator
     [ Integration ]  ← Controller/HTTP tests
    [ Unit tests ]  ← Service, FormRequest, Model, Rules

テスト対象

コンポーネント種類重点項目
FormRequestユニット有効/無効なフィールド、テナント FK ルール
Serviceユニットビジネスロジック、モック
Modelユニットスコープ、キャスト、リレーション
Controller統合ステータス、レスポンスの形式、認証、401/403
テナントスコープ統合テナント間の P0 — 他社に対して 200 を返さないこと

出力構成

スキル本文のファクトリーパターンを参照し、以下を含めます。

  • 概要と詳細なテスト計画(重複させないこと)
  • バックエンドのルート — {product_root}/backend/(モノレポの場合)または検出された既存コードベースのパス
  • tests/Unit/ と tests/Feature/ 配下のファイル
  • コンポーネントごとのシナリオチェックリスト
  • 必須パターン:RefreshDatabase、ファクトリー、レスポンスの形式、テナント間のケース
  • 実行コマンド — Docker 内で、タイムアウト 120 秒を指定して実行する vendor/bin/phpunit --testdox --stop-on-failure --stop-on-error(ns-code-backend-tests を参照)
  • プロジェクトにまだ tests/ がない場合のブートストラップに関する注意:テストクラスの作成前に、実行担当者が ns-code-backend-tests の Phase 0 を実行する必要があります

依存関係

タスクでは、対象となるバックエンド実装の task-NNN.md を参照する必要があります。

ルール

  • テナントスコープ付き CRUD のハッピーパスのみを扱うタスクは、テナント間の P0 がなければ不完全です
  • テストを本番データベースに接続しないでください
  • プロジェクトのテストランナーのコマンドに合わせてください — PHPUnit の場合は、Docker 内でタイムアウト 120 秒を指定して実行する vendor/bin/phpunit --testdox --stop-on-failure --stop-on-error を使用します

関連スキル

  • ns-sdd-task-generator — 先に実装タスクを作成
  • ns-code-backend-tests — 実行とブートストラップ
  • ns-pm-e2e-test-task-generator — UI のテスト範囲

コメント