mcpField
A
add-test-requirement

add-test-requirement

github.com/plainlangテスト・品質8042 回インストール今日更新
リポジトリ

add-test-requirement について

`.plain` ファイルに適合性テストの要件を追加するスキルです。テスト実行要件を、ユニットテストの指針、シナリオ、動作や実装の要件と区別します。

主な機能

  1. 01対象仕様の構成確認
  2. 02適合性テストとユニットテスト指針の区別
  3. 03テスト要件セクションへの要件追加
  4. 04配置と参照概念の確認

活用シーン

  1. 01適合性テストのフレームワーク指定
  2. 02適合性テストの実行方法の記述
  3. 03適合性テストデータの制約追加

インストール

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

$npx skills add https://github.com/plainlang/plain-forge --skill add-test-requirement

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

詳細

テスト要件の追加

まずルールを読み込みます。 .plain ファイルの読み取り、編集、書き込みを行う前に、load-plain-reference スキルを呼び出し、案内されたルールファイルを読みます。この会話ですでに load-plain-reference が実行されている場合に限り、これを省略できます。

ワークフロー

  1. 対象の .plain ファイルを特定します。 対象が曖昧な場合は、ユーザーに確認します。
  2. ファイルを読みます。 既存のテスト要件と仕様全体の構成を把握します。
  3. 適合性テストに関する要件であることを確認します。 ユニットテストのガイダンスはここではなく、***implementation reqs*** に記載します。
  4. 以下のルールに従って要件を作成します。
  5. ***test reqs*** セクションに挿入します。
  6. ファイルをもう一度読み、配置と構文が正しいことを確認します。

ここに記載する内容

テスト要件では、適合性テストの作成方法と実行方法を指定します。一般的な内容は次のとおりです。

  • テストフレームワーク:使用するフレームワーク(例:pytest、Unittest、xUnit)
  • 実行方法:テストを実行するコマンド
  • テスト上の制約:テストで必ず行うこと、または行ってはならないこと(例:テストのスキップ禁止、モックの要件)
  • テストデータ:テストフィクスチャやモックデータの構成方法
  • 環境設定:適合性テストの実行に必要な前提条件

ここに記載しない内容

  • ユニットテストのガイダンス — ***implementation reqs*** に記載します
  • テストシナリオ — 適合性シナリオと受け入れシナリオは、add-test-scenarios を使ってテスト用の plain ファイルに記述します(test-plain-files.md を参照)
  • 振る舞いに関する要件 — ***functional specs*** に記載します
  • 実装技術の選択 — ***implementation reqs*** に記載します

適合性テストとその他のテスト

テストの種類指定する場所目的
ユニットテスト***implementation reqs***個々の機能を切り分けてテストする
適合性テスト方法:***test reqs***、対象:テスト用 plain ファイルの ***conformance tests***ある機能の想定される使用方法と主要経路を検証する
受け入れテスト方法:***test reqs***、対象:テスト用 plain ファイルの ***acceptance tests***無効なパラメーター、誤った認証や認証情報の欠落、データの欠落など、想定外の使用状況で機能を検証する

形式

テスト要件は ***test reqs*** セクションに箇条書きで記載します。

***test reqs***

- :ConformanceTests: should be implemented using pytest framework.

- :ConformanceTests: will be run using "pytest" command.

- :ConformanceTests: must be implemented and executed - do not skip tests.

- :ConformanceTests: should mock all external HTTP calls.

明確さを高めるために、:ConformanceTests: などの事前定義された概念や、定義済みの :Concepts: を参照します。

検証チェックリスト

  • ユニットテストや振る舞いではなく、適合性テストに関する内容を記述している
  • 参照しているすべての :Concepts: が定義されている(または :ConformanceTests: のように事前定義されている)
  • ファイルまたはそのインポート先にすでに記載されているガイダンスと重複していない
  • concise-specs.md に従って簡潔にしている:平易な語句を使い、理由やデフォルトのフレームワーク動作を含めていない
  • ***test reqs*** セクション内に配置している
  • ***functional specs*** に記載すべき振る舞いに関する要件を含めていない

コメント