Files
SuperClaude/docs/testing/procedures.md
kazuki e0a84a6027 docs: add session logs and testing documentation
- Add session analysis logs
- Add testing documentation
2025-10-17 04:51:46 +09:00

104 lines
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# テスト手順とCI/CD
## テスト構成
### pytest設定
- **テストディレクトリ**: `tests/`
- **テストファイルパターン**: `test_*.py`, `*_test.py`
- **テストクラス**: `Test*`
- **テスト関数**: `test_*`
- **オプション**: `-v --tb=short --strict-markers`
### カバレッジ設定
- **対象**: `superclaude/`, `setup/`
- **除外**: `*/tests/*`, `*/test_*`, `*/__pycache__/*`
- **目標**: 90%以上のカバレッジ
- **レポート**: `show_missing = true` で未カバー行を表示
### テストマーカー
- `@pytest.mark.slow`: 遅いテスト(`-m "not slow"`で除外可能)
- `@pytest.mark.integration`: 統合テスト
## 既存テストファイル
```
tests/
├── test_get_components.py # コンポーネント取得テスト
├── test_install_command.py # インストールコマンドテスト
├── test_installer.py # インストーラーテスト
├── test_mcp_component.py # MCPコンポーネントテスト
├── test_mcp_docs_component.py # MCPドキュメントコンポーネントテスト
└── test_ui.py # UIテスト
```
## タスク完了時の必須チェックリスト
### 1. コード品質チェック
```bash
# フォーマット
black .
# 型チェック
mypy superclaude setup
# リンター
flake8 superclaude setup
```
### 2. テスト実行
```bash
# すべてのテスト
pytest -v
# カバレッジチェック90%以上必須)
pytest --cov=superclaude --cov=setup --cov-report=term-missing
```
### 3. ドキュメント更新
- 機能追加 → 該当ドキュメントを更新
- API変更 → docstringを更新
- 使用例を追加
### 4. Git操作
```bash
# 変更確認
git status
git diff
# コミット前に必ず確認
git diff --staged
# Conventional Commitsに従う
git commit -m "feat: add new feature"
git commit -m "fix: resolve bug in X"
git commit -m "docs: update installation guide"
```
## CI/CD ワークフロー
### GitHub Actions
- **publish-pypi.yml**: PyPI自動公開
- **readme-quality-check.yml**: ドキュメント品質チェック
### ワークフロートリガー
- プッシュ時: リンター、テスト実行
- プルリクエスト: 品質チェック、カバレッジ確認
- タグ作成: PyPI自動公開
## 品質基準
### コード品質
- すべてのテスト合格必須
- 新機能は90%以上のテストカバレッジ
- 型ヒント完備
- エラーハンドリング実装
### ドキュメント品質
- パブリックAPIはドキュメント化必須
- 使用例を含める
- 段階的複雑さ(初心者→上級者)
### パフォーマンス
- 大規模プロジェクトでのパフォーマンス最適化
- クロスプラットフォーム互換性
- リソース効率の良い実装