Laravel の組み込みテスト機能を効果的に使用するには、次の手順に従います。
1. Laravel のテスト フレームワークを使用する: Laravel には、PHPUnit と呼ばれる組み込みのテスト フレームワークが付属しています。このフレームワークは、テストを作成するためのツールとユーティリティのセットを提供します。 `phpunit` コマンドを使用してテストを実行できます。
2. テストを整理する: テストを「tests」ディレクトリに配置します。このディレクトリには、`Feature` と `Unit` という 2 つのサブディレクトリが含まれています。 「Feature」ディレクトリは、コードの大部分をテストする機能テストに使用されます。 「Unit」ディレクトリは、コードの個々の単位をテストする単体テストに使用されます。
3. わかりやすいテスト名を使用する: テストにはわかりやすい名前を使用します。これにより、各テストが何をテストしているのかを理解しやすくなります。
4. Laravel のテスト ユーティリティを使用する: Laravel は、テストの作成に使用できる一連のテスト ユーティリティを提供します。これらのユーティリティには、各テストの前にデータベースを自動的に移行し、各テスト後に変更をロールバックする「RefreshDatabase」トレイトが含まれています。
5. アサーションとヘルパーを使用する: Laravel は、テストを簡素化するための幅広いアサーション メソッドとヘルパーを提供します。 `assertStatus()`、`assertRedirect()`、`assertSee()` などのメソッドを使用して、アプリケーションの予期される動作を検証します。
6. 外部依存関係をモックする: Laravel のモック機能を使用して、API 呼び出しやデータベース インタラクションなどの外部依存関係をモックします。これにより、テストは実際の依存関係に依存するのではなく、テスト対象の特定の機能に重点を置くことができます。
7. アレンジ、アクト、アサート (AAA) パターンを使用する: AAA パターン (アレンジ、アクト、アサート) を使用してテストを構成します。 Arrange はテストに必要な前提条件を設定し、Act はテストするアクションまたは操作を実行し、Assert は期待した結果または動作が発生したかどうかを検証します。
8. ファクトリーを使用する: Laravel でファクトリーを使用して、テストで使用する偽のデータを生成します。ファクトリを使用すると、現実的なデータを使用してテスト オブジェクトを簡単に作成でき、テスト シナリオのセットアップ プロセスを合理化できます。
9. `phpunit.xml` ファイルを使用します: `phpunit.xml` ファイルは、テスト環境を構成するために使用されます。このファイルは、テスト用の環境変数とデータベース構成を設定します。
10. テストの実行: `phpunit` コマンドを使用してテストを実行します。 「make:test」アーティザン コマンドを使用して新しいテストを作成することもできます。
これらの手順に従うことで、Laravel の組み込みテスト機能を効果的に使用して、アプリケーション用の堅牢で保守可能なテストを作成できます。
引用:[1] https://laravel-news.com/how-to-start-testing
[2] https://www.bacancytechnology.com/blog/feature-testing-in-laravel
[3] https://dev.to/Tomatopotato27/best-practices-with-example-to-write-feature-test-in-laravel-1oga
[4] https://www.interserver.net/tips/kb/testing-your-laravel-applications-unit-tests-feature-tests-and-beyond/
[5] https://laravel.com/docs/6.x/testing