mcpField
T
testing

testing

github.com/alphaonedevテスト・品質42 回インストール
リポジトリ

testing について

testing スキルは、OpenClaw によるユニット、統合、エンドツーエンドテストを支援します。TDD、BDD、カバレッジ分析、テスト命名、実行ワークフローを扱います。

主な機能

  1. 01TDD によるユニットテスト生成
  2. 02Gherkin からの BDD ステップ定義作成
  3. 03テストピラミッドの構成提案
  4. 04カバレッジしきい値設定と不足箇所の特定
  5. 05Jest、Pytest、Selenium によるテスト実行

活用シーン

  1. 01機能実装時のテスト追加
  2. 02ユーザーストーリーのステップ定義生成
  3. 03リファクタリング時のカバレッジ確認
  4. 04CI/CD パイプラインでのテスト実行

インストール

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

$npx skills add https://github.com/alphaonedev/openclaw-graph --skill testing

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

詳細

テスト

目的

このスキルを使用すると、OpenClaw はテストピラミッド(ユニットテスト、統合テスト、E2E テスト)、TDD/BDD の手法、コードカバレッジ分析、命名規則などを含む包括的なテスト戦略を支援し、高品質なコードの実現をサポートします。堅牢なソフトウェアを実現するため、テストを開発ワークフローに組み込むことに重点を置いています。

使用する場面

新機能の実装、失敗のデバッグ、カバレッジのしきい値の確保など、テスト駆動開発が必要なコードを作成またはレビューするときに、このスキルを使用してください。アジャイルスプリント、CI/CD パイプライン、または品質を維持するためにコードをリファクタリングするときなどに活用できます。

主な機能

  • TDD を使用したユニットテストの生成:入力と出力に基づくアサーションを含む関数のテストを作成します。
  • Gherkin 構文による BDD のサポート:フィーチャーファイルを解析し、ステップ定義を生成します。
  • テストピラミッドの分析:テストの配分(例:ユニットテスト 70%、統合テスト 20%、E2E テスト 10%)を提案します。
  • カバレッジ戦略の適用:しきい値(例:80%超)を設定し、カバーされていない行を特定します。
  • 命名規則の適用:テストに testFunctionName のようなパターンを適用します。
  • ツールとの連携:API を使用して Jest、Pytest、Selenium 経由でテストを実行します。

使用パターン

このスキルを使用するには、チャットまたはスクリプトで特定のコマンドを指定して OpenClaw を呼び出します。まず分析するコードスニペットを提示し、次にテストの生成を依頼します。TDD では、テストの作成とコードの実装を交互に行います。BDD では、まずユーザーストーリーを提示します。出力を適切に調整できるよう、必ずテストの種類(ユニットテスト、統合テスト、E2E テスト)を指定してください。たとえば、.openclaw/config.json で "coverageThreshold": 80 を設定するなど、JSON ファイルで構成します。自動化するには、Make や npm スクリプトなどのビルドツールと連携させます。

一般的なコマンド/API

OpenClaw CLI または API 経由で呼び出します。API 呼び出しの認証には、環境変数 $OPENCLAW_API_KEY を使用します。

  • CLI コマンド:claw test run --type unit --file src/myfile.js --coverage true でユニットテストを実行します。 サンプルスニペット:

    claw test run --type unit --file tests/unit.js
    // Output: Test results with coverage report
    
  • API エンドポイント:https://api.openclaw.ai/v1/test/run に、JSON ボディ { "type": "integration", "paths": ["src/"], "threshold": 85 } を指定して POST します。 サンプルスニペット:

    curl -H "Authorization: Bearer $OPENCLAW_API_KEY" \
    -d '{"type":"e2e","paths":["tests/e2e/"]}' https://api.openclaw.ai/v1/test/run
    
  • 一般的なフラグ:テストレベルには --type [unit/integration/e2e]、レポートには --coverage、Gherkin の解析には --bdd を使用します。

  • 構成形式:テスト構成には YAML を使用します。例:

    tests:
      unit: true
      coverage: 90
    

TDD テストを生成するには、「この関数のユニットテストを生成してください:def add(a, b): return a + b」と指示します。

連携に関する注意事項

結果を JUnit XML や HTML レポートなどの形式でエクスポートし、このスキルを既存のツールと連携させます。CI/CD では、GitHub Actions や Jenkins にフックを追加し、たとえば claw test run --type e2e をステップとして実行します。フレームワークを使用する場合は、.openclaw/config.json で "adapter": "jest" のようにアダプターを指定し、OpenClaw の出力を Jest の設定に対応付けます。API との互換性を確保するには、パイプラインスクリプトで環境変数 $OPENCLAW_API_KEY を設定します。複数のサービスで構成されるアプリでは、Webhook 経由で監視ツールと連携し、コード変更時にテストを実行します。

エラー処理

エラーが発生した場合は、無効なテストの種類や認証の失敗など、よくある問題を確認します。スクリプトでは、たとえば次のように try-catch を使用します。

try {
  await claw.test.run({ type: 'unit' });
} catch (error) {
  console.error(error.message);  // e.g., "API key missing"
}

API エラーが発生した場合は、$OPENCLAW_API_KEY と応答コード(認証エラーを示す 401 など)を確認します。テストが失敗した場合は、「Assertion failed on line 5」のような詳細を得るため、OpenClaw の出力を解析します。一時的なエラーには指数バックオフで再試行し、デバッグに役立つよう詳細を JSON 形式で記録します。

使用例

  1. シンプルな関数の TDD:def multiply(a, b): return a * b のようなコードを提示し、「これを使って pytest のユニットテストを書いてください」と指示します。OpenClaw は次のように応答します:

    def test_multiply():
        assert multiply(2, 3) == 6
        assert multiply(0, 5) == 0
    

    claw test run --type unit --file tests.py で実行します。

  2. ユーザーストーリーの BDD:「Feature: User login」を提示し、「ステップ定義を生成してください」と指示します。OpenClaw は次のように出力します:

    Given("user is on login page") do
      visit '/login'
    end
    

    claw test run --bdd --file features/login.feature を実行して連携させます。

グラフの関係性

  • 関連先:「tdd」(TDD ワークフローへの直接リンク)
  • 関連先:「bdd」(ビヘイビア駆動テストで共有)
  • 関連先:「quality」(コードカバレッジと標準で重複)
  • ピラミッド戦略では「testing」クラスターを介して接続
  • 「deployment」のような無関係なクラスターへの直接エッジはありません

コメント