本文從測試人員角度分析 PHP 官方自動化測試方法、框架結構與具體實現。透過實際例子展示 PHP 如何實現有效自動化測試保證代碼高品質。讀者可學習官方測試方法並應用於自身開發流程,提高代碼功能品質。
以 PHP 5.2.8 原始碼在 Linux 平台分析為例。首先看 PHPT 測試腳本。
PHP 測試腳本以 .phpt 為副檔名,包含 TEST、FILE、EXPECT 等段落。TEST、FILE、EXPECT 為基本段落,每個測試腳本至少包含這三段。TEST 填測試用例名稱;FILE 為 PHP 腳本實現的測試用例;EXPECT 為期待值。執行時 PHP 用被測試的 PHP 可執行物件運行 FILE 段落,實際結果與 EXPECT 比對:一致則通過,不一致則失敗。
| 段落名 | 填充內容 | 備註 |
|---|---|---|
| TEST | 測試用例名稱 | 必填 |
| ARGS | FILE 段落輸入參數 | 選填 |
| SKIPIF | 跳過測試條件 | 選填 |
| POST | 傳入測試腳本 POST 變數 | 選填,建議配合 SKIPIF |
| GET | 傳入測試腳本 GET 變數 | 選填,建議配合 SKIPIF |
| INI | 測試腳本 ini 設定 | 選填,如 foo=bar,可用 ini_get() 取得 |
| FILE | 測試腳本陳述句 | 必填,PHP 腳本,執行結果與 EXPECT 比對 |
| EXPECT | 測試腳本期待值 | 必填 |
| EXPECTF | 期待值,可用 sscanf 格式表示 | EXPECT 變體 |
| EXPECTREGEX | 期待值,可用正則表示 | EXPECT 變體 |