iT邦幫忙

第 11 屆 iT 邦幫忙鐵人賽

DAY 13
0
Software Development

如何一步步實踐TDD (測試驅動開發)系列 第 13

TDD 實戰:進入 Laravel

關於要怎麼進行 TDD 已經寫了十多篇文章介紹了,就讓我們進入實戰練習吧!

接下來數篇都會利用 TDD 來開發 Laravel 的專案,Laravel 是相當廣泛使用的 Web 框架,功能強大齊全。

主要還是會著重在 TDD 的練習與開發上,對於 Laravel 的介紹預計都只有簡單帶過,有興趣可以參考 Laravel 官方文件

Laravel 測試套件

Laravel 已直接內建了數個測試用的套件,其中包含介紹過的 PHPUnit 及 Mockery。

PHPUnit 原本就提供了許多好用的 assert 函式,而 Laravel 則進一步將其擴展,更方便對 Web 的功能進行測試。

安裝 (macOS)

說安裝其實不太一樣,而是創建 Laravel 專案資料夾,有兩個方法:

  1. 透過 laravel installer
$ composer global require laravel/installer
$ laravel new project_name
  1. 直接用 composer
$ composer create-project --prefer-dist laravel/laravel project_name

嘗試運行 Server

創建好的 Laravel 專案資料夾,裡面已經包含了 index 頁面。

$ php artisan serve

就可以在 http://127.0.0.1:8000 看到預設的頁面。

Laravel 測試範例

tests/ 資料夾中有放了測試範例可以參考:

<?php

namespace Tests\Feature;

use Illuminate\Foundation\Testing\RefreshDatabase;
use Tests\TestCase;

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

        $response->assertStatus(200);
    }
}

這個 Laravel 測試範例會對 / (index) 發出一個 Get 請求,並測試 response 的狀態碼是否是 200,也就是請求已完成。

assertStatus() 是原本 PHPUnit 沒有的判斷函式,之後還會再看到更多好用的函式們。


上一篇
Mock 與 範例四 (Mockery, PHP)
下一篇
TDD 實戰 D1:Laravel 首頁
系列文
如何一步步實踐TDD (測試驅動開發)30

尚未有邦友留言

立即登入留言