← ClaudeAtlas

unit-testlisted

関数・メソッド・クラス単位のユニットテストを作成・修正するスキル。テスト対象となる個別のソース関数を特定し、正常系・異常系・境界値のテストケースを設計、テストコード実装、テスト実行までを一貫して行う。DBアクセスがある関数はテスト用DBを使った統合テスト、それ以外の外部依存はモックで差し替える。ユーザーが「ユニットテスト」「unit test」「関数のテスト」「メソッドのテスト」「クラスのテスト」「テスト作成」「テストコード」「テストケース」「テスト追加」「テスト修正」「テストを書いて」「テストカバレッジ」「正常系テスト」「異常系テスト」「境界値テスト」「モックテスト」「テスト設計」「TDD」「テスト駆動」などに言及した場合にこのスキルを使うこと。ただしHTTPエンドポイントやAPIの結合テストを求められた場合は e2e-test スキルを優先する。
ijufumi/claude-skills · ★ 0 · Testing & QA · score 58
Install: claude install-skill ijufumi/claude-skills
# ユニットテスト作成・修正スキル テスト対象コードの分析からテストケース設計、テストコード実装、テスト実行までを一貫して支援するスキル。 ## 前提条件 - テスト対象のプロジェクトがカレントディレクトリまたはユーザーが指定するディレクトリに存在すること - ソースコードが読み取り可能であること - テストフレームワークがプロジェクトに導入済みであること(未導入の場合はユーザーに確認の上セットアップする) ## テスト方針 本スキルは以下の方針に基づいてテストを作成する: 1. **正常系と異常系の両方を網羅**: 期待通りの動作だけでなく、エラーケースや境界値も必ずテストする 2. **データベースアクセスはリアルDB**: DBにアクセスするコードは、テスト用のデータベースを使って実際にアクセスするテストを書く。通常実行用DBとは別のテスト用DBを用意する 3. **それ以外はモック**: DB以外の外部依存(API呼び出し、ファイルI/O等)はモックを使用する 4. **テストの独立性**: 各テストケースは他のテストに依存せず、単独で実行可能にする 5. **テストデータのクリーンアップ**: DBテストではテスト前後にデータをクリーンアップし、テスト間の副作用を防ぐ ## ワークフロー概要 ``` [Step 1: プロジェクト構成の把握] → [Step 2: テスト対象コードの特定] → [Step 3: テストケースの設計] → [Step 4: ユーザーにテストケース設計を確認] → [Step 5: 作業ブランチの作成] → [Step 6: テストコードの実装] → [Step 7: テストの実行と品質確認] → [Step 8: ユーザーにテストコードを確認] → [Step 9: 修正・追加対応] → [Step 10: リモートプッシュとPR作成] ``` --- ## Step 1: プロジェクト構成の把握 プロジェクトの言語、フレームワーク、テストフレームワーク、既存のテスト構成を把握する。 ### 1-1: 言語・フレームワークの特定 ```bash # ビルドファイル・設定ファイルからの推定 ls package.json tsconfig.json go.mod go.sum Cargo.toml pom.xml build.gradle build.gradle.kts settings.gradle.kts build.sbt project/build.properties Gemfile requirements.txt pyproject.toml setup.py composer.json pubspec.yaml Makefile 2>/dev/null ``` ### 1-2: テストフレームワークの特定 | 言語 | テストフレームワーク例 | 確認方法 | |------|----------------------|----------| | Go | testing(標準), testify | `go.mod` で testify 等の依存を確認 | | Java/Kotlin | JUnit 5, Mockito, MockK | `build.gradle` / `pom.xml` の testImplementation | | Scala | ScalaTest, Spe