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

2.8 KiB
Raw Blame History

テスト手順と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. コード品質チェック

# フォーマット
black .

# 型チェック
mypy superclaude setup

# リンター
flake8 superclaude setup

2. テスト実行

# すべてのテスト
pytest -v

# カバレッジチェック90%以上必須)
pytest --cov=superclaude --cov=setup --cov-report=term-missing

3. ドキュメント更新

  • 機能追加 → 該当ドキュメントを更新
  • API変更 → docstringを更新
  • 使用例を追加

4. Git操作

# 変更確認
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はドキュメント化必須
  • 使用例を含める
  • 段階的複雑さ(初心者→上級者)

パフォーマンス

  • 大規模プロジェクトでのパフォーマンス最適化
  • クロスプラットフォーム互換性
  • リソース効率の良い実装