🌊

Laravel × PHPUnit 入門:Laravelでテストを書くための基本とベストプラクティス

に公開

はじめに

Laravelでは高品質なコードを保つためにテストが推奨されています。この記事では、Laravelで使われる「PHPUnit」について、基本的な使い方からテストの書き方、便利なTipsまでをまとめました。

テスト構造の基本

FeatureとUnitの違い

Laravelでは、FeatureUnitの2種類のテストが用意されています。それぞれの目的と違いについて簡単に解説します

テスト種別 説明
Feature Laravelの機能(DB, ルーティングなど)を利用した統合テスト向け。
Unit フレームワークに依存しない、関数やロジックの単体テスト向け。

テストの作成と実行方法

テストファイルの作成

php artisan make:test UserTest          # Feature
php artisan make:test UserTest --unit   # Unit

実行方法

php artisan test              # Laravel標準
./vendor/bin/phpunit          # PHPUnit
./vendor/bin/pest             # Pestを使っている場合
php artisan test --parallel   # 並列実行で高速化

テストの書き方

public function testExample()
{
    $this->assertTrue(true);
}

アサーションまとめ(抜粋)

  • assertEquals($a, $b):値が等しいか
  • assertTrue($value):trueかどうか
  • assertNull($value):nullかどうか
  • assertCount($count, $array):要素数が一致するか

おわりに

テストは「書くコスト以上に、バグを防ぐ価値」があります。
Laravel × PHPUnitの基本を押さえておくだけでも、プロジェクトの品質は大きく向上します。
今後はモックやファクトリの使い方なども追って紹介していきます。

Discussion