章: 第6章: 実践運用と成長
コードを修正するたびに「どこか壊れていないか」手で確認していませんか?テストを自動化すれば、その不安から解放されます。
問題と解決策
機能を追加・修正するたびに「既存の動作が壊れていないか」を手動で確認するのは非効率で、確認漏れも起きやすくなります。特にコードが大きくなるほど、影響範囲が読めなくなります。
テストコードを書くと、php vendor/bin/phpunit の一言でアプリ全体を自動検証できます。テストが通れば「既存の動作は保たれている」という安心感を持ちながら開発できます。
テスト種類の比較
| テスト種類 | 目的 | PHPでのツール |
| ユニットテスト | 関数・クラス単体の動作確認 | PHPUnit / Pest |
| 統合テスト | 複数コンポーネントの連携確認 | PHPUnit |
| フィーチャーテスト | ユーザー操作レベルの確認 | Laravel Feature Test |
チェックポイント: テストを書く前に「期待値」を先に決めていますか?「何を確認するか」を先に言葉にしておくと、テストコードがぶれずに書けます。TDD(テスト駆動開発)ではテストを先に書くのが基本です。
コードサンプル
<?php
function multiply($a, $b) { return $a * $b; }
assert(multiply(2, 3) === 6);
まとめ & 次のステップ
- テストコードを書くと変更のたびに自動で動作確認ができます
- PHPUnitが代表的なテストフレームワークで、Composerで導入できます
- まずは純粋な関数(入力→出力が決まっているもの)からテストを書き始めましょう
- テストが通ることを確認しながらリファクタリングすると安全に改善できます
次回は オートローダ — requireを書かずにクラスを自動読み込みする仕組みを学びます。