Laravel フレームワークの継続的な開発により、単体テストは現代のプログラミングに不可欠な部分になりました。単体テストを行うと、さまざまな動作環境下でコードが安定した動作をすることが保証され、プログラム エラーの可能性が大幅に低減されます。 Laravel では、単体テストに Laravel Testing を使用できます。この記事では、Laravel Testingを単体テストに使用する方法を紹介します。
単体テストの前に、テスト用の Laravel プロジェクトをインストールする必要があります。 Laravel は次のコマンドを使用してインストールできます:
composer create-project --prefer-dist laravel/laravel blog
Laravel では、次のコマンドを実行してテスト ファイルを作成できます:
php 職人 make:test ExampleTest
これにより、tests ディレクトリに ExampleTest.php ファイルが生成されます。そこにテストケースを書くことができます。
次に、テスト ケースを作成する必要があります。 ExampleTest でテスト ケースを作成できます。
public function testBasicTest() { $response = $this->get('/'); $response->assertStatus(200); }
上記のテスト ケースでは、アプリケーションへの GET リクエストを開始し、応答ステータスが 200 であるかどうかを確認します。
次に、次のコマンドを使用してテストを実行できます:
php 職人テスト
If allテスト ユースケースが合格すると、このコマンドは成功ステータスを返します。
テスト ケースを作成するとき、アサーションを使用して、コードが期待どおりに動作するかどうかを確認できます。 Laravel テストでは、いくつかの種類のアサーションが提供されます。
上記の例では、assertStatus(200) アサーションを使用しました。このアサーションは、応答ステータスが 200 であるかどうかを確認します。ステータスが 200 でない場合、テストは失敗します。これに加えて、テストに使用できるアサーションが他にもたくさんあります。
テストでは、リクエストと応答を模擬することがよくあります。 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');
テスト ケースを作成するとき、異なるデータ セットをテストする必要がある場合があります。この目的を達成するために、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 サイトの他の関連記事を参照してください。