mirror of
https://github.com/SuperClaude-Org/SuperClaude_Framework.git
synced 2025-12-29 16:16:08 +00:00
docs: add session logs and testing documentation
- Add session analysis logs - Add testing documentation
This commit is contained in:
103
docs/testing/procedures.md
Normal file
103
docs/testing/procedures.md
Normal 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はドキュメント化必須
|
||||
- 使用例を含める
|
||||
- 段階的複雑さ(初心者→上級者)
|
||||
|
||||
### パフォーマンス
|
||||
- 大規模プロジェクトでのパフォーマンス最適化
|
||||
- クロスプラットフォーム互換性
|
||||
- リソース効率の良い実装
|
||||
Reference in New Issue
Block a user