Readouble

Laravel 7.x テスト: テストの準備

イントロダクションIntroduction

Laravelはユニットテストも考慮して構築されています。実際、PHPUnitをサポートしており、最初から含まれています。アプリケーションのためにphpunit.xmlファイルも最初から準備されています。さらにフレームワークはアプリケーションを記述的にテストするために便利なヘルパメソッドも持っています。Laravel is built with testing in mind. In fact, support for testing with PHPUnit is included out of the box and a phpunit.xml file is already set up for your application. The framework also ships with convenient helper methods that allow you to expressively test your applications.

デフォルトでアプリケーションのtestsディレクトリには、2つのディレクトリが存在しています。FeatureUnitです。ユニットテストは極小さい、コードの独立した一部をテストします。実際、ほとんどのユニット(Unit)テストは一つのメソッドに焦点をあてます。機能(Feature)テストは、多くのオブジェクトがそれぞれどのように関しているかとか、JSONエンドポイントへ完全なHTTPリクエストを送ることさえ含む、コードの幅広い範囲をテストします。By default, your application's tests directory contains two directories: Feature and Unit. Unit tests are tests that focus on a very small, isolated portion of your code. In fact, most unit tests probably focus on a single method. Feature tests may test a larger portion of your code, including how several objects interact with each other or even a full HTTP request to a JSON endpoint.

FeatureUnit、両テストディレクトリには、ExampleTest.phpが用意されています。真新しいLaravelアプリケーションをインストールしたらテストを実行するため、コマンドラインからvendor/bin/phpunitを実行してください。An ExampleTest.php file is provided in both the Feature and Unit test directories. After installing a new Laravel application, run vendor/bin/phpunit on the command line to run your tests.

環境Environment

phpunit.xmlファイル中で環境変数が設定されているため、vendor/bin/phpunitを実行するとLaravelは自動的に設定環境をtestingにセットします。Laravelはまた、セッションとキャッシュの設定をarrayドライバーに設定し、テスト中のセッションやキャッシュデータが残らないようにします。When running tests via vendor/bin/phpunit, Laravel will automatically set the configuration environment to testing because of the environment variables defined in the phpunit.xml file. Laravel also automatically configures the session and cache to the array driver while testing, meaning no session or cache data will be persisted while testing.

必要であれば他のテスト設定環境を自由に作成することもできます。testing動作環境変数はphpunit.xmlの中で設定されています。テスト実行前には、config:clear Artisanコマンドを実行し、設定キャッシュをクリアするのを忘れないでください。You are free to define other testing environment configuration values as necessary. The testing environment variables may be configured in the phpunit.xml file, but make sure to clear your configuration cache using the config:clear Artisan command before running your tests!

さらに、プロジェクトのルートディレクトリで、.env.testingファイルを生成することも可能です。PHPUnitテストやArtisanコマンドを--env=testingオプション付きで実行する場合、.envファイルをこのファイルの内容でオーバーライドします。In addition, you may create a .env.testing file in the root of your project. This file will override the .env file when running PHPUnit tests or executing Artisan commands with the --env=testing option.

テストの生成と実行Creating & Running Tests

新しいテストケースを作成するには、make:test Artisanコマンドを使います。To create a new test case, use the make:test Artisan command:

// Featureディレクトリにテストを生成する
php artisan make:test UserTest

// Unitディレクトリにテストを生成する
php artisan make:test UserTest --unit

lightbulb">Tip!! stubのリソース公開 を使って、Testスタブをカスタマイズできます。{tip} Test stubs may be customized using stub publishing[/docs/{{version}}/artisan#stub-customization]

テストを生成したら、PHPUnitを使用するときと同じようにテストメソッドを定義してください。テストを実行するには、ターミナルでphpunitartisan testコマンドを実行します。Once the test has been generated, you may define test methods as you normally would using PHPUnit. To run your tests, execute the phpunit or artisan test command from your terminal:

<?php

namespace Tests\Unit;

use PHPUnit\Framework\TestCase;

class ExampleTest extends TestCase
{
    /**
     * 基本的なテスト例
     *
     * @return void
     */
    public function testBasicTest()
    {
        $this->assertTrue(true);
    }
}

Note: note テストクラスに独自のsetUpメソッドを定義する場合は、親のクラスのparent::setUp()parent::tearDown()を確実に呼び出してください。{note} If you define your own setUp / tearDown methods within a test class, be sure to call the respective parent::setUp() / parent::tearDown() methods on the parent class.

ArtisanテストランナーArtisan Test Runner

テスト実行にはphpunitコマンドに加え、test Artisanコマンドも使用できます。Artisanテストランナーは現在実行中のテストに関するより詳しい情報を提供し、テストに失敗した最初の時点で自動的に停止します。In addition to the phpunit command, you may use the test Artisan command to run your tests. The Artisan test runner provides more information regarding the test that is currently running and will automatically stop on the first test failure:

php artisan test

phpunitコマンドで使用できる引数はすべてArtisan testコマンドにも渡せます。Any arguments that can be passed to the phpunit command may also be passed to the Artisan test command:

php artisan test --group=feature

章選択

設定

明暗テーマ
light_mode
dark_mode
brightness_auto システム設定に合わせる
テーマ選択
photo_size_select_actual デフォルト
photo_size_select_actual モノクローム(白黒)
photo_size_select_actual Solarized風
photo_size_select_actual GitHub風(青ベース)
photo_size_select_actual Viva(黄緑ベース)
photo_size_select_actual Happy(紫ベース)
photo_size_select_actual Mint(緑ベース)
コードハイライトテーマ選択

明暗テーマごとに、コードハイライトのテーマを指定できます。

テーマ配色確認
スクリーン表示幅
640px
80%
90%
100%

768px以上の幅があるときのドキュメント部分表示幅です。

インデント
無し
1rem
2rem
3rem
原文確認
原文を全行表示
原文を一行ずつ表示
使用しない

※ 段落末のEボタンへカーソルオンで原文をPopupします。

Diff表示形式
色分けのみで区別
行頭の±で区別
削除線と追記で区別

※ [tl!…]形式の挿入削除行の表示形式です。

テストコード表示
両コード表示
Pestのみ表示
PHPUnitのみ表示
OS表示
全OS表示
macOSのみ表示
windowsのみ表示
linuxのみ表示
和文変換

対象文字列と置換文字列を半角スペースで区切ってください。(最大5組各10文字まで)

本文フォント

総称名以外はCSSと同様に、"〜"でエスケープしてください。

コードフォント

総称名以外はCSSと同様に、"〜"でエスケープしてください。

保存内容リセット

localStrageに保存してある設定項目をすべて削除し、デフォルト状態へ戻します。

ヘッダー項目移動

キーボード操作