1. 基本

基本

Laravel 5のユニットテストについて

  • 雛形の作成

  • 雛形は、"artisan make:test [名前]"で作成することができます。 ミドルウェアのCheckForMaintenanceModeクラス (app/Http/Middleware/CheckForMaintenanceMode.php) のユニットテスト雛形を作成する場合は、以下のようにします。

    $ php artisan make:test Http/Middleware/CheckForMaintenanceModeTest
    実行後、以下のファイルが作成されます。
    tests/Http/Middleware/CheckForMaintenanceModeTest.php

    作成された雛形の中身は以下のようになります。

    <?php
    
    use Illuminate\Foundation\Testing\WithoutMiddleware;
    use Illuminate\Foundation\Testing\DatabaseMigrations;
    use Illuminate\Foundation\Testing\DatabaseTransactions;
    
    class CheckForMaintenanceModeTest extends TestCase
    {
        /**
         * A basic test example.
         *
         * @return void
         */
        public function testExample()
        {
            $this->assertTrue(true);
        }
    }

  • ユニットテストの実行

  • composerのinstallコマンドを実行していれば、phpunitはvendor/phpunit以下にインストールされています。 また、phpunitコマンドのパスは以下になります。

    vendor/phpunit/phpunit/phpunit

    phpunitコマンドのパスを設定しておけば、testsディレクトリで、phpunitを実行するとユニットテストが実行できます。 また、phpunitコマンドのパスを設定せずに、testsディレクトリに以下のようなシェルスクリプトを作成して実行することもできます。

    例 tests/test.sh
    #!/bin/sh
    
    PHPUNIT=../vendor/phpunit/phpunit/phpunit
    
    $PHPUNIT Http/Middleware/CheckForMaintenanceModeTest.php

    実行する場合は、以下のようにtestsディレクトリに移動してスクリプトを実行します。

    $ cd tests/
    $ sh test.sh