Laravelのテストまとめ!保守性の高いアプリを作るための習慣
生徒
「Laravelでアプリを作ったあと、ちゃんと動いているか確認する方法ってあるんですか?」
先生
「Laravelには最初からテスト機能が用意されていて、自動で動作確認ができます。」
生徒
「自動で確認って、ボタンを押したら勝手にチェックしてくれる感じですか?」
先生
「そのイメージで大丈夫です。人が毎回確認しなくても、同じチェックを何度も実行できます。」
1. Laravelのテストとは?
Laravelのテストとは、アプリケーションが正しく動いているかを自動で確認する仕組みです。人の目で毎回画面を操作して確認するのは時間もかかり、見落としも起こりやすくなります。テストは、料理を出す前に味見をするようなもので、失敗に早く気づくための安全装置です。LaravelではPHPを使ってテストを書けるため、特別な言語を新しく覚えなくても始められます。
2. テストを書くメリットと保守性
保守性とは、あとから修正や追加がしやすい性質のことです。テストがあると、コードを変更したときに「前にできていたことが壊れていないか」をすぐに確認できます。これは、説明書付きの機械のようなもので、使い方や状態が分かりやすくなります。Laravelのテストは、将来の自分や他の開発者を助けるメモ代わりにもなります。
3. Laravelで使われるテストの種類
Laravelでは主に「ユニットテスト」と「機能テスト」が使われます。ユニットテストは、小さな部品が正しく動くかを見るテストです。機能テストは、画面表示やページ遷移など、実際の操作に近い動きを確認します。自転車で例えると、ユニットテストはブレーキ単体の確認、機能テストは実際に走って止まれるかの確認です。
4. テストの基本的な書き方
Laravelでは、テスト用のファイルが最初から用意されています。決められた場所に書くだけで実行できます。テストは「こうなるはず」という期待を書くのが基本です。難しい数式を書く必要はなく、結果が合っているかを比べるだけなので、初心者でも安心して書けます。
public function test_sample_calculation()
{
$result = 1 + 1;
$this->assertEquals(2, $result);
}
5. 画面表示を確認するテスト
Webアプリでは、ページが正しく表示されるかも重要です。Laravelの機能テストを使うと、実際にブラウザでアクセスしたような確認ができます。文字が表示されているかを見るだけでも、画面の不具合に早く気づけます。これは、看板の文字がちゃんと読めるかを遠くから確認するようなものです。
public function test_top_page_display()
{
$response = $this->get('/');
$response->assertStatus(200);
}
6. データを使ったテストの考え方
Laravelのテストでは、データベースを使った確認もできます。本番データを壊さないように、テスト専用の環境が使われます。これは、練習用ノートに書いてから清書するような考え方です。失敗しても問題ない場所で試せるので、安心して学習できます。
public function test_user_name()
{
$name = 'Taro';
$this->assertSame('Taro', $name);
}
7. テストを習慣にするコツ
最初から完璧なテストを書く必要はありません。小さな確認を少しずつ積み重ねることが大切です。Laravelで機能を追加したら、その動きを一行でもテストに残すと、後で自分を助けてくれます。毎日歯を磨くように、短い時間でも続けることが保守性の高いアプリにつながります。
public function test_true_is_true()
{
$this->assertTrue(true);
}