testing-unit について
関数、メソッド、クラスを依存関係から切り離してテストするスキルです。テスト作成と実行、カバレッジ測定、CI/CD との連携に対応します。
主な機能
- 01テスト可能な単位の特定
- 02テストフィクスチャと依存関係のモック作成
- 03正常系、境界条件、異常系のテスト
- 04テスト実行と結果報告
- 05コードカバレッジの測定
- 06CI/CD へのテスト統合
活用シーン
- 01統合前の新規コードのテスト
- 02リファクタリング時の回帰確認
- 03CI/CD での自動テスト実行
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ wojons/ skills --skill testing-unitインストール後、Claude Code で/testing-unitを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
README.mdreferences/README.mdscripts/example.sh詳細
単体テスト
依存関係から切り離して、関数、メソッド、クラスを個別にテストします。
使用する場面
このスキルは、次のような場面で使用します。
- 新しいコードを作成し、正しく動作することを確認するとき
- 機能を損なわずに既存のコードをリファクタリングするとき
- 継続的インテグレーションで、リグレッションを早期に検出するとき
- テスト駆動開発(TDD)の手法に従うとき
できること
- テスト可能な単位(関数、メソッド、クラス)を特定します
- テストフィクスチャを用意し、依存関係をモックします
- 正常系、境界条件、エラー条件を網羅するテストケースを作成します
- 単体テストを実行し、成功/失敗の状況を報告します
- テスト対象のコードカバレッジを測定します
- 自動テストのために CI/CD パイプラインと連携します
例
# Run unit tests with common frameworks
npm test # Node.js with Jest/Mocha
python -m pytest tests/ # Python with pytest
go test ./... # Go built-in testing
cargo test # Rust with Cargo
dotnet test # .NET with xUnit/NUnit
# Run specific test files
npm test -- src/utils.test.js
pytest tests/test_auth.py
# Run with coverage reporting
npm test -- --coverage
pytest --cov=src tests/
出力形式
✓ Test Suite: UserService
✓ should create user with valid data
✓ should reject duplicate email
✗ should handle database connection errors (failed)
Expected: "Connection error handled"
Received: "Unhandled database error"
Coverage: 92% (15/16 lines)
Failed: 1 test
注意事項
- 単体テストは高速に実行できるようにします(テストあたり数ミリ秒)
- 外部依存関係(データベース、API、ファイルシステム)はモックします
- 高いコードカバレッジ(80~90%以上)を目指します
- テストは互いに独立させ、実行順序に依存しないようにします
- AAA パターン(Arrange、Act、Assert)に従います
- テストダブル(モック、スタブ、スパイ)を適切に使用します
コメント
Markdown 対応