Laravelにデフォルトで組み込まれている「PHPUnit」を使ってユニットテスト(単体テスト)を実施してみます。
今回は、Webアプリケーションに正しくアクセスできているか、HTTPテストを実施します。
公開済みのLaravelプロジェクトを対象とします。
- Laravel 7.30.6
- PHPUnit 8.5.31
テスト用スクリプトの用意
テスト用スクリプトは、サンプル「tests/Feature/ExampleTest.php」が用意されているので、これを複製し、例えば「HelloTest.php」として以下のファイルを作成します。
namespace Tests\Feature; use Tests\TestCase; use Illuminate\Foundation\Testing\RefreshDatabase; class HelloTest extends TestCase { public function testBasicTest() { $response = $this->get('/'); $response->assertStatus(200); $response = $this->get('/about'); $response->assertStatus(200); $response = $this->get('/contact'); $response->assertStatus(200); ... } }
このように記述する事で、例えばページ「/about」にリクエストした際に、正常にアクセスできているか、つまりステータスコード200を返しているかどうかテストする事ができます。
コンテンツリストやサイトマップなど仕様書から、全ページ分のコードを記述します。