sf-testing
Apexテストの実行・カバレッジ分析・テスト修正ループを120点満点のスコアリングで管理するスキル。ユーザーがApexテストの実行、コードカバレッジの確認、失敗テストの修正、または `*Test.cls` / `*_Test.cls` ファイルを操作する際にトリガーされます。Apex本番コードの記述(sf-apex)、Agentforceエージェントのテスト(sf-ai-agentforce-testing)、Jest/LWCテスト(sf-lwc)の場合は使用しないでください。
description の原文を見る
> Apex test execution, coverage analysis, and test-fix loops with 120-point scoring. TRIGGER when: user runs Apex tests, checks code coverage, fixes failing tests, or touches *Test.cls / *_Test.cls files. DO NOT TRIGGER when: writing Apex production code (use sf-apex), Agentforce agent testing (use sf-ai-agentforce-testing), or Jest/LWC tests (use sf-lwc).
SKILL.md 本文
sf-testing: Salesforce テスト実行とカバレッジ分析
ユーザーが Apex テスト実行と失敗分析 を必要とする場合にこのスキルを使用します: テスト実行、カバレッジチェック、失敗の解釈、カバレッジ向上、Salesforce コードの規律あるテスト修正ループの管理。
このスキルがタスクを所有する場合
以下のような作業に sf-testing を使用します:
sf apex run testワークフロー- Apex ユニットテストの失敗
- コードカバレッジ分析
- カバーされていない行と欠落したテストシナリオの特定
- Apex コード向けの構造化されたテスト修正ループ
以下の場合は他へ委譲します:
- 本番 Apex を書いている、またはリファクタリングしている →
sf-apex - Agentforce エージェントをテストしている →
sf-ai-agentforce-testing - Jest で LWC をテストしている →
sf-lwc
最初に収集すべき必須コンテキスト
以下を質問するか推測します:
- 対象 org エイリアス
- 目的のテストスコープ: 単一クラス、特定メソッド、スイート、またはローカルテスト
- カバレッジ閾値の期待値
- ユーザーが診断のみを望むのか、またはテスト修正ループを望むのか
- 関連するテストデータファクトリがすでに存在するか
推奨ワークフロー
1. テストスコープを発見する
以下を特定します:
- 既存のテストクラス
- 対象の本番クラス
- テストデータファクトリ / セットアップヘルパー
2. 最も有用な最小テストセットを最初に実行する
失敗をデバッグする場合は狭い範囲から開始し、修正が安定した後にのみ拡大します。
3. 結果を分析する
以下に焦点を当てます:
- 失敗したメソッド
- 例外タイプとスタックトレース
- カバーされていない行 / カバレッジが弱い領域
- 失敗がテストデータ不良、ブリットル な assertion、または破損した本番ロジックを示唆しているか
4. 規律あるテスト修正ループを実行する
コードまたはテスト品質が問題の場合:
- 必要に応じてコード修正を
sf-apexに委譲 - テストを追加または改善
- より広い回帰テストの前に、焦点を絞ったテストを再実行
5. カバレッジを意図的に向上させる
以下をカバーします:
- 正のパス
- 負 / 例外パス
- バルクパス (適切な場合 251 以上のレコード)
- 関連する場合はコールアウトまたは非同期パス
高シグナルルール
- デフォルトは
SeeAllData=false - すべてのテストは意味のある結果を assertion する必要があります
- 単一レコードのハッピーパスだけでなく、バルク動作をテストします
- ファクトリ /
@TestSetupを使用して、明確性と速度を向上させる場合に使用します - 非同期動作が重要な場合は、
Test.startTest()とTest.stopTest()のペアを使用します - 不安定な org 依存関係をテスト内に隠さないようにします
出力形式
完了時は、この順序で報告します:
- 実行されたテスト
- 合否サマリー
- カバレッジ結果
- 根本原因の調査結果
- 修正または次回実行の推奨事項
推奨される形式:
テスト実行: <スコープ>
Org: <エイリアス>
結果: <合格 / 部分的 / 不合格>
カバレッジ: <パーセンテージ / キークラス>
問題: <最も重要な失敗>
次のステップ: <クラスを修正、テストを追加、スコープを再実行、または回帰を拡大>
クロススキル統合
| 必要事項 | 委譲先 | 理由 |
|---|---|---|
| 本番コードを修正するか、テストを作成する | sf-apex | コード生成と修復 |
| バルク / エッジケースデータを作成 | sf-data | 現実的なテストデータセット |
| 更新されたテストをデプロイ | sf-deploy | ロールアウト |
| 詳細なランタイムログを検査 | sf-debug | より深い失敗分析 |
リファレンスマップ
ここから始める
references/cli-commands.mdreferences/test-patterns.mdreferences/testing-best-practices.mdreferences/test-fix-loop.md
専門的なガイダンス
references/mocking-patterns.mdreferences/performance-optimization.mdassets/
スコアガイド
| スコア | 意味 |
|---|---|
| 108 以上 | 強い本番グレードのテスト信頼性 |
| 96–107 | 良いテストスイート、軽微なギャップあり |
| 84–95 | 許容可能だがカバレッジ / assertion を強化 |
| 84 未満 | 標準以下。依存する前に修正 |
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- jaganpro
- リポジトリ
- jaganpro/sf-skills
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/jaganpro/sf-skills / ライセンス: MIT
関連スキル
agent-browser
AI エージェント向けのブラウザ自動化 CLI です。ウェブサイトとの対話が必要な場合に使用します。ページ遷移、フォーム入力、ボタンクリック、スクリーンショット取得、データ抽出、ウェブアプリのテスト、ブラウザ操作の自動化など、あらゆるブラウザタスクに対応できます。「ウェブサイトを開く」「フォームに記入する」「ボタンをクリックする」「スクリーンショットを取得する」「ページからデータを抽出する」「このウェブアプリをテストする」「サイトにログインする」「ブラウザ操作を自動化する」といった要求や、プログラマティックなウェブ操作が必要なタスクで起動します。
anyskill
AnySkill — あなたのプライベート・スキルクラウド。GitHubを基盤としたリポジトリからエージェントスキルを管理、同期、動的にロードできます。自然言語でクラウドスキルを検索し、オンデマンドでプロンプトを自動ロード、カスタムスキルのアップロードと共有、スキルバンドルの一括インストールが可能です。OpenClaw、Antigravity、Claude Code、Cursorに対応しています。
engram
AIエージェント向けの永続的なメモリシステムです。バグ修正、意思決定、発見、設定変更の後はmem_saveを使用してください。ユーザーが「覚えている」「記憶している」と言及した場合、または以前のセッションと重複する作業を開始する際はmem_searchを使用します。セッション終了前にmem_session_summaryを使用して、コンテキストを保持してください。
skyvern
AI駆動のブラウザ自動化により、任意のウェブサイトを自動化できます。フォーム入力、データ抽出、ファイルダウンロード、ログイン、複数ステップのワークフロー実行など、ユーザーがウェブサイトと連携する必要があるときに使用します。Skyvernは、LLMとコンピュータビジョンを活用して、未知のサイトも自動操作可能です。Python SDK、TypeScript SDK、REST API、MCPサーバー、またはCLIを通じて統合できます。
pinchbench
PinchBenchベンチマークを実行して、OpenClawエージェントの実世界タスクにおけるパフォーマンスを評価できます。モデルの機能テスト、モデル間の比較、ベンチマーク結果のリーダーボード提出、またはOpenClawのセットアップがカレンダー、メール、リサーチ、コーディング、複数ステップのワークフローにどの程度対応しているかを確認する際に使用します。
openui
OpenUIとOpenUI Langを使用してジェネレーティブUIアプリを構築できます。これらはLLM生成インターフェースのためのトークン効率的なオープン標準です。OpenUI、@openuidev、ジェネレーティブUI、LLMからのストリーミングUI、AI向けコンポーネントライブラリ、またはjson-render/A2UIの置き換えについて述べる際に使用します。スキャフォルディング、defineComponent、システムプロンプト、Renderer、およびOpenUI Lang出力のデバッグに対応しています。