このリポジトリはPHP Webアプリフレームワークである、LaravelのLTSバージョンである5.5の公式英文ドキュメントを日本語へ翻訳しています。
This project is maintained by okinaka
Laravelはユニットテストも考慮して構築されています。実際、PHPUnitをサポートしており、最初から含まれています。アプリケーションのためにphpunit.xml
ファイルも最初から準備されています。さらにフレームワークはアプリケーションを記述的にテストするために便利なヘルパメソッドも持っています。
デフォルトでアプリケーションのtests
ディレクトリには、2つのディレクトリが存在しています。Feature
とUnit
です。ユニットテストは極小さい、コードの独立した一部をテストします。実際、殆どのユニット(Unit)テストは一つのメソッドに焦点をあてます。機能(Feature)テストは、多くのオブジェクトがそれぞれどのように関しているかとか、JSONエンドポイントへ完全なHTTPリクエストを送ることさえ含む、コードの幅広い範囲をテストします。
Feature
とUnit
、両テストディレクトリには、ExampleTest.php
が用意されています。真新しいLaravelアプリケーションをインストールしたら、テストを実行するためにコマンドラインで、phpunit
を実行してください。
phpunit.xml
ファイル中で環境変数が設定されているため、phpunit
を実行するとLaravelは自動的に設定環境をtesting
にセットします。Laravelはまた、セッションとキャッシュの設定をarray
ドライバーに設定し、テスト中のセッションやキャッシュデータが残らないようにします。
必要であれば他のテスト設定環境を自由に作成することもできます。testing
動作環境変数はphpunit.xml
の中で設定されています。テスト実行前には、config:clear
Artisanコマンドを実行し、設定キャッシュをクリアするのを忘れないでください。
新しいテストケースを作成するには、make:test
Artisanコマンドを使います。
// Featureディレクトリにテストを生成する
php artisan make:test UserTest
// Unitディレクトリにテストを生成する
php artisan make:test UserTest --unit
テストを生成したら、PHPUnitを使用するときと同じように、テストメソッドを定義してください。テストを実行するには、ターミナルでphpunit
コマンドを実行するだけです。
<?php
namespace Tests\Unit;
use Tests\TestCase;
use Illuminate\Foundation\Testing\RefreshDatabase;
class ExampleTest extends TestCase
{
/**
* 基本的なテスト例
*
* @return void
*/
public function testBasicTest()
{
$this->assertTrue(true);
}
}
{note} テストクラスに独自の
setUp
メソッドを定義する場合は、parent::setUp()
を確実に呼び出してください。