testing について
testing スキルは、OpenClaw によるユニット、統合、エンドツーエンドテストを支援します。TDD、BDD、カバレッジ分析、テスト命名、実行ワークフローを扱います。
主な機能
- 01TDD によるユニットテスト生成
- 02Gherkin からの BDD ステップ定義作成
- 03テストピラミッドの構成提案
- 04カバレッジしきい値設定と不足箇所の特定
- 05Jest、Pytest、Selenium によるテスト実行
活用シーン
- 01機能実装時のテスト追加
- 02ユーザーストーリーのステップ定義生成
- 03リファクタリング時のカバレッジ確認
- 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 形式で記録します。
使用例
-
シンプルな関数の TDD:
def multiply(a, b): return a * bのようなコードを提示し、「これを使って pytest のユニットテストを書いてください」と指示します。OpenClaw は次のように応答します:def test_multiply(): assert multiply(2, 3) == 6 assert multiply(0, 5) == 0claw test run --type unit --file tests.pyで実行します。 -
ユーザーストーリーの BDD:「Feature: User login」を提示し、「ステップ定義を生成してください」と指示します。OpenClaw は次のように出力します:
Given("user is on login page") do visit '/login' endclaw test run --bdd --file features/login.featureを実行して連携させます。
グラフの関係性
- 関連先:「tdd」(TDD ワークフローへの直接リンク)
- 関連先:「bdd」(ビヘイビア駆動テストで共有)
- 関連先:「quality」(コードカバレッジと標準で重複)
- ピラミッド戦略では「testing」クラスターを介して接続
- 「deployment」のような無関係なクラスターへの直接エッジはありません