首先先寫測試
我們昨天測試了首頁,
那我們今天要開始做新的設計,
並且針對我們的設計來做測試,
我們即將要做一個登入的畫面,
這個登入的畫面會有一個"關於我們"的超連結,
點擊之後會跳到"關於我們"的頁面,
我們現在先寫一個測試
public function test_login_page_about()
{
$this->visit('/home/index')
->click('關於我們')
->seePageIs('/home/about');
}
這意思是說我們點擊"關於我們"這個超連結,
然後預期會跳到/home/about這個頁面。
另外我們還要做登入的功能,
我們輸入帳號跟密碼,
並且勾選checkbox,
然後點擊"登入"這個按鈕,
預期他會跳到/home/main這個頁面
public function test_login_page_login()
{
$this->visit('/home/index')
->type('admin', 'account')
->type('admin', 'password')
->check('terms')
->press('登入')
->seePageIs('/home/main');
}
方法的說明如下
方法 | 說明 |
---|---|
$this->type($text, $elementName) | 「輸入」文字在一個給定的區域 |
$this->select($value, $elementName) | 「選擇」一個單選欄或下拉式選單的區域 |
$this->check($elementName) | 「勾選」一個複選欄的區域 |
$this->attach($pathToFile, $elementName) | 「附上」一個檔案至表單 |
$this->press($buttonTextOrElementName) | 「按下」一個指定文字或名稱的按鈕 |
後來有發現兩個指令,
會一次測試全部的檔案,
不需要指定要測試哪個檔案
其中一個是
php vendor/phpunit/phpunit/phpunit
可以看到發生了兩個錯誤,
兩個頁面都是回傳404,
因為我們還沒有開始做頁面,
這個部分我們明天會開始動作。
另外一個方法是
php artisan test
會有一個測試的列表,
然後會告訴你錯誤在哪個函式,
然後會告訴你錯誤在哪一行,
(但是回傳的錯誤都是在套件裡面,
所以沒甚麼參考價值)
這兩種方法都可以使用,
可以選擇一種方法,
也可以兩種方法交互使用。