code-testing-generator は Microsoft の .NET チームが公開したオープンソースのエージェントで、単体テストを書いた上でそれが実際に機能することを証明します。「単体テストを生成して」という一言のプロンプトでは空白が多すぎます。どのコードにテストが必要か、どのフレームワークか、どこに置くか、ビルドがどう見つけるか、何を検証すべきか。このエージェントは書き始める前にリポジトリを読んでこれらの判断を決め、計画・作成・実行・検証を行います。MITライセンスの dotnet/skills リポジトリの dotnet-test プラグイン内にあり、.NET、Python、Go、TypeScript、Java、Rust など多言語に対応します。
主な機能
- リポジトリを意識した計画:一発生成ではなく Research-Plan-Implement(RPI)パイプライン。言語とテストフレームワークを検出し、既存テストを読んで慣習を学び、実際のビルド/テストコマンドを特定します。これは「ローカルではコンパイルできるのに、登録されていないためCIでは一度も走らない」という失敗モードを直接解決します。
- 3つの戦略:直接(即時に書き検証)、単一パス(一度だけ研究・計画して実装)、反復(大きな範囲やカバレッジ目標に向けて繰り返す)。
- 検証ゲート:完了前に5つのチェックを実施。テストを失敗させるはずの小さな変更を推論する軽量変異テスト、弱い/欠落したアサーションの検出、要求された各シナリオをテストに対応付け、ワークスペース全体をビルドして全スイートを実行、リポジトリ自身のテストコマンドが新テストを発見するかを確認。
- 安全な設計:本番コードは変更せず、外部URL呼び出し、ポートバインド、正確なタイミング依存のテストを避ける。
- 既存の環境で動く:GitHub Copilot CLI、プラグイン対応の Visual Studio Code / VS Code Insiders で利用可能。Visual Studio 対応も進行中。
ベンチマーク
実在リポジトリから作った152タスクの内部ベンチマークで、このエージェントは140(92.1%)を完了、素の GitHub Copilot は120(78.9%)。エラーは63%減。利得は曖昧なプロンプトに集中:89中の79(88.8%)対59(66.3%)。diff指定の15タスクでは全て通過し、素のCopilotはゼロ。テスト数は2.3%少なく(6,963 vs 7,129)、行カバレッジはほぼ同等(72.4% vs 72.2%)、所要時間は約5.5%速い。より難しい外部の SWE Atlas でも差は維持、16/44 対 12/44。
使用シナリオ
- 未テストモジュールへのテスト穴埋め、リリースゲート前のカバレッジ向上。
- PRのdiffを精査し、新コードが実際にカバーされていることを確認。
- 金融、ヘルスケア、公共部門など規制・監査が重いスタックで、意味のあるテストを証明したい場合。
- ポリグロットなモノレポで、慣習を一本化したい場合。
解決する問題
- 通るが何も検証しないテスト:CIが緑かどうかだけでなく、アサーションと変異をチェック。
- 登録されていないテストプロジェクト:実際のビルド/テストコマンドを見つけ、CIが本当に走らせる。
- 曖昧なプロンプト:フレームワーク・場所・慣習の判断を自ら行う。
料金
オープンソースで無料。
| プラン | 価格 | 備考 |
|---|---|---|
| エージェント+スキル | $0 | dotnet/skills 内でMITライセンス。コーディングエージェントとモデル費用は別途。 |
はじめに
- GitHub Copilot CLI で
/plugin marketplace add dotnet/skills、続けて/plugin install dotnet-test@dotnet-agent-skills。 - CLIを再起動し、エージェント一覧から
code-testing-generatorを選択。 - 「generate unit tests」と入力し、計画・テスト・最終チェックをレビュー。
よくある質問
何をテストする?
単体テストのみ。統合・E2E・ブラウザ・性能テストは現状対象外。
無料?
はい、MITライセンスのオープンソース。
本番コードを触る?
いいえ。コンテキストとして読むだけで、書くのはテストファイルのみ。
代替案
- Aider:プロンプトと編集のための汎用CLIコーディングエージェント。
- Claude Code:カスタムスキルと組み合わせられるターミナルコーディングエージェント。
- codex-cli:OpenAIのエージェントCLI。同様にスキルで拡張可能。
ヒント
- 素のCopilotより大きく伸びる「曖昧なプロンプト」に使いましょう。
- 緑のテスト数より最終チェックを重視。アサーション品質こそ本当の利得。
- 社内フレームワークを使うなら公式の言語ガイドをフォークして、慣習を合わせる。
まとめ
code-testing-generator は「通るのに何も証明しないテスト」への Microsoft の答えです。リポジトリを先に調査し、書くテストを逐一検証することで、コピペのプロンプトを信頼できるループに変えます。数字は汎用アシスタントが苦手な場面で最も良く出ます。GitHub Copilot CLI で試すか、技術記事を読んでください。
コメント
まだコメントがありません。最初のコメントを投稿してください!
関連ツール
CLI-Anything
clianything.cc
HKUDSのオープンソース登録簿。GUIアプリ、API、SaaSをエージェント向けCLIに変換し、OpenClaw、Claude Code、Codex、Cursorから利用できる。
Prime Agent
www.primeintellect.ai
PrimeIntellect の自己改善型コーディングエージェント。Recursive Language Model(RLM)を基盤とし、唯一のツールとして永続 IPython カーネルを採用。/refine コマンドでエージェント自身を改善し、範囲を限定した自律モードを搭載。
T3 Code
t3.codes
Claude Code、Codex、Cursor、Grok Build、OpenCode をデスクトップ・Web・モバイルから統合操作できるオープンソースのエージェントハーネス。
関連インサイト
7 つの AI コーディング CLI を半年使って悟ったこと:モデルがどんなに強くても、仕事には監督が必要
Claude Code、Codex、opencode、pi、omp、DeepSeek Harness はそれぞれ性格が違う。半年間の深い使用で確立した分業:pi で最速最省のレビュー、omp で複雑な PR レビュー、DeepSeek Harness + V4 Flash で高頻度・低コストなレビュー、Claude Code と Qoder でコーディング。モデルがどんなに強くても、仕事には監督が必要——しかも独立した第三者であるべき。
ローコードプラットフォームの黄昏:なぜClaude Agent SDKがDifyを歴史にするのか
大規模言語モデルの第一原理から、なぜClaude Agent SDKがDifyを置き換えるのかを深く分析。自然言語でプロセスを記述することが人間の原始的な行動パターンにより合致している理由、そしてなぜこれがAI時代の必然的な選択なのかを探る。
Skills + Hooks + Plugins:AnthropicによるAIコーディングツールの拡張性の再定義
Claude CodeのSkills、Hooks、Pluginsという三位一体アーキテクチャを深く分析し、なぜこの設計がGitHub CopilotやCursorよりも先進的なのか、そしてオープンスタンダードを通じてAIコーディングツールの拡張性をどのように再定義しているかを探ります。