Skip to content

品質管理ツール実行ガイド

プロジェクトの品質管理アプローチ

このプロジェクトでは、以下の品質管理ツールを使用して、コードの品質を多角的に評価しています:

  1. ユニットテスト - コードの動作を検証
  2. 静的解析 - コードを実行せずに問題を検出
  3. コーディング規約チェック - コードスタイルの一貫性を保証
  4. コードフォーマッター - コードを自動的に整形
  5. 統合品質チェック - 複数のツールを一度に実行
  6. 自動化 - コミット前の自動チェック

各ツールの説明と役割

ユニットテスト

ツール: PHPUnit 役割: コードの動作を検証し、期待通りの結果が得られることを確認 ガイド: PHPUnit実行ガイド

  • ユニットテスト(tests/Unit/)とパフォーマンステスト(tests/Performance/)を実行
  • テストカバレッジレポートの生成

静的解析

ツール: PHPStan 役割: コードを実行せずに、型エラーや潜在的なバグを検出 ガイド: PHPStan実行ガイド

  • Level 4の解析レベルで実行
  • 型の不一致、未定義の変数・プロパティ、null参照などを検出
  • WordPress関数のスタブを使用

コーディング規約チェック

ツール: PHPCS 役割: WordPress Coding Standards + PSR-12に準拠しているかをチェック ガイド: PHPCS実行ガイド

  • コーディング規約違反の検出
  • 自動修正可能な問題の自動修正(PHPCBF)
  • 進捗の追跡

コードフォーマッター

ツール: Prettier 役割: フロントエンドコード(JS/TS/CSS/JSON/MD)を自動的にフォーマット ガイド: Prettier実行ガイド

  • コードの自動整形
  • エディタ統合による保存時の自動フォーマット
  • チーム全体でのコードスタイルの統一

統合品質チェック

ツール: Composerスクリプト + シェルスクリプト 役割: 複数の品質管理ツールを一度に実行

  • composer quality - PHPCS + PHPStan + PHPUnitを一度に実行
  • ./bin/run_local_quality_check.sh - GitHub Actionsの品質チェックをローカルで再現
  • 品質ダッシュボードの生成

自動化

ツール: Husky + lint-staged 役割: コミット前に自動的に品質チェックを実行

  • コミット前の自動チェック
  • ステージングされたファイルのみをチェック
  • PHPCSとPrettierの自動実行
  • 設定はプロジェクトルートの README および package.json の lint-staged を参照

クイックリファレンス

実行コマンドは コマンド一覧 を参照してください。

ファイル構成

docs/testing/
├── README.md                          # このファイル(全体の索引)
├── unit-testing/
│   └── phpunit-guide.md              # PHPUnit実行ガイド
├── static-analysis/
│   └── phpstan-guide.md              # PHPStan実行ガイド
└── code-style/
    ├── phpcs-guide.md                # PHPCS実行ガイド
    └── prettier-guide.md             # Prettier実行ガイド

各ガイドへのリンク

ユニットテスト

  • PHPUnit実行ガイド
    • ユニットテストとパフォーマンステストの実行方法
    • テストカバレッジレポートの確認方法
    • トラブルシューティング

静的解析

  • PHPStan実行ガイド
    • 静的解析の実行方法
    • エラーメッセージの読み方
    • 解析レベルの段階的向上

コーディング規約

  • PHPCS実行ガイド

    • コーディング規約チェックの実行方法
    • 自動修正と手動修正
    • WordPress Coding Standardsの説明
  • Prettier実行ガイド

    • フロントエンドコードの自動フォーマット
    • エディタ統合の設定
    • ファイル形式ごとの設定

自動化

  • コミット前の自動チェック(Husky + lint-staged)はプロジェクトルートの README および package.json を参照

次のステップ

学習リソース

プロジェクトのドキュメント


最終更新: 2026-01-17