ホームページ >PHPフレームワーク >Laravel >Laravel 開発: Laravel Testing を単体テストに使用するには?

Laravel 開発: Laravel Testing を単体テストに使用するには?

WBOY
WBOYオリジナル
2023-06-13 10:03:571940ブラウズ

Laravel フレームワークの継続的な開発により、単体テストは現代のプログラミングに不可欠な部分になりました。単体テストを行うと、さまざまな動作環境下でコードが安定した動作をすることが保証され、プログラム エラーの可能性が大幅に低減されます。 Laravel では、単体テストに Laravel Testing を使用できます。この記事では、Laravel Testingを単体テストに使用する方法を紹介します。

  1. Laravel のインストール

単体テストの前に、テスト用の Laravel プロジェクトをインストールする必要があります。 Laravel は次のコマンドを使用してインストールできます:

composer create-project --prefer-dist laravel/laravel blog

  1. テスト ファイルを作成します

Laravel では、次のコマンドを実行してテスト ファイルを作成できます:

php 職人 make:test ExampleTest

これにより、tests ディレクトリに ExampleTest.php ファイルが生成されます。そこにテストケースを書くことができます。

  1. テスト ケースの作成

次に、テスト ケースを作成する必要があります。 ExampleTest でテスト ケースを作成できます。

public function testBasicTest()
{
    $response = $this->get('/');

    $response->assertStatus(200);
}

上記のテスト ケースでは、アプリケーションへの GET リクエストを開始し、応答ステータスが 200 であるかどうかを確認します。

  1. テストを実行します

次に、次のコマンドを使用してテストを実行できます:

php 職人テスト

If allテスト ユースケースが合格すると、このコマンドは成功ステータスを返します。

  1. アサーション

テスト ケースを作成するとき、アサーションを使用して、コードが期待どおりに動作するかどうかを確認できます。 Laravel テストでは、いくつかの種類のアサーションが提供されます。

上記の例では、assertStatus(200) アサーションを使用しました。このアサーションは、応答ステータスが 200 であるかどうかを確認します。ステータスが 200 でない場合、テストは失敗します。これに加えて、テストに使用できるアサーションが他にもたくさんあります。

  1. リクエストを模擬する

テストでは、リクエストと応答を模擬することがよくあります。 Laravel テストには、リクエストをシミュレートするためのメソッドが多数用意されています。例:

// GET请求
$response = $this->get('/path');

// POST请求
$response = $this->post('/path', [
    'name' => 'value',
]);

// PUT请求
$response = $this->put('/path', [
    'name' => 'value',
]);

// DELETE请求
$response = $this->delete('/path');
  1. データ プロバイダー

テスト ケースを作成するとき、異なるデータ セットをテストする必要がある場合があります。この目的を達成するために、Laravel Testing のデータプロバイダーを使用できます。例:

/**
 * @dataProvider additionProvider
 */
public function testAddition($a, $b, $expected)
{
    $this->assertEquals($expected, $a + $b);
}

public function additionProvider()
{
    return [
        [0, 0, 0],
        [0, 1, 1],
        [1, 1, 2],
    ];
}

上の例では、データ プロバイダーを使用してさまざまなデータ セットをテストしました。

概要

この記事では、Laravel Testing を単体テストに使用する方法を紹介します。単体テストを行うと、さまざまな動作環境下でコードが安定した動作をすることが保証され、プログラム エラーの可能性が大幅に低減されます。テストケースを作成するときは、Laravel Testing が提供するさまざまなタイプのアサーションとデータプロバイダーを使用して、さまざまなテスト要件を実装できます。

以上がLaravel 開発: Laravel Testing を単体テストに使用するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。