docs: add session logs and testing documentation

- Add session analysis logs
- Add testing documentation
This commit is contained in:
kazuki
2025-10-17 02:41:55 +09:00
parent 92f1c8d714
commit e0a84a6027
3 changed files with 227 additions and 0 deletions

103
docs/testing/procedures.md Normal file
View File

@@ -0,0 +1,103 @@
# テスト手順と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はドキュメント化必須
- 使用例を含める
- 段階的複雑さ(初心者→上級者)
### パフォーマンス
- 大規模プロジェクトでのパフォーマンス最適化
- クロスプラットフォーム互換性
- リソース効率の良い実装