0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Laravel学習 - テストコード【入門編】

Last updated at Posted at 2023-01-09

Laravelのテストについて

Laravelでテストコードを記述するには主に以下の2つの方法がある。

  • PHP Unitを利用する
    • PHPの代表的なテストフレームワーク
  • Laravel Duskを利用する
    • ブラウザを使った自動操作によるテストが可能(初耳。覚えておこう。)

今回は業務でも使っているPHP Unitを利用したテストを学習していきます。

PHP Unit

テストコードファイルは以下のartisanコマンドで作成可能

artisan make:test 作成したいテストファイル名

コマンドを打ち込むと、デフォルトで以下のテストが作成されます。

  • フィーチャーテスト:tests/Feature/ExampleTest.php
  • ユニットテスト:tests/Unit/ExampleTest.php

デフォルトのフィーチャーテストを深掘り

HTTPステータスコードが200であることを確認するテストコードが既に記載済みです。
$response = $this->get('/');の箇所でどんな情報を変数$responseに入れているのかを見てみましょう、
以下のように編集します。

class HomeTest extends TestCase
{
    /**
     * A basic feature test example.
     *
     * @return void
     */
    // テストメソッド(関数)名の先頭には「test」を付けること
    public function test_example()
    {
        $response = $this->get('/');
        // dump出力した後、ここで処理が終了。お手軽デバッグ法。
        dd($response);
        $response->assertStatus(200);
    }
}

長いので割愛しますが、$responseの中には「GETやPOSTメソッドでURLと合わせて送られてきた様々なデータ」や「URLやHTTP動詞などの通信情報」が入っています。
この情報からステータスコードが200かどうかをassertStatusメソッドで探すのですね( ͡° ͜ʖ ͡°)

さいごに

ちょいちょい編集して、自分自身も何度も見返していきたいようなものに仕上げます。
一緒にLaravelマスター目指しましょう。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?