##總結構##
thinkphp5的測試方案分為兩個部分一個是單元測試,另一個是集成測試。
建議單元測試對外發布,集成測試對內使用,因為集成測試需要使用持續集成環境,以及一些shell腳本。
###環境準備###
####單元測試環境準備####
- phpunit 單元測試工具
- phpunit-speedtrap 測試執行時間,當超出執行時間超出某一時間時輸出
- vfsStream 用于測試過程中創建虛擬文件,避免權限等問題
####集成測試環境準備####
- jekins 持續集成環境
- phing php構建腳本
- CodeSniffer 代碼規范檢測工具
- PHPMD php錯誤檢測工具
####可能用到的環境####
- PHPDepend php以來分析工具,用于重構
- xhprof 以及xhgui用來查找函數執行效率以及原因
####基本框架測試####
#####基本框架的測試準備######
- 數據庫兩份,用于測試邏輯,一份存儲測試用例,一份存儲期待結果
- 一個精簡版的框架或方法,用來測試真正的框架核心
#####基本框架的測試內容及簡介######
以下內容只是定一個大概的測試內容,具體的單元測試用例需要和開發人員一同研討提供。
- 安裝配置
- 測試生成生成的文件是否與預期的相等
- build文件配置測試
- url設計
- 測試生成規則
- 測試訪問路徑是否與預期相等
- 入口測試
- 重寫規則測試
- 文件加載測試
- 自動加載測試
- 命名空間測試(不太好測)
- 類庫映射測試
- 類庫導入測試
- 配置測試
- 配置文件測試
- 路由測試
- 路由模式測試
- 注冊路由測試
- 路由規則測試
- 控制器測試
- 訪問測試
- 模板和輸出測試
- 多層控制器測試
- 空路由和空控制器測試
- 分層次控制器測試
- RESTful測試
- RESTful路由測試
- 模型測試
- 模型定義測試
- 高級模型測試
- 視圖模型測試
- 關聯模型測試
- 視圖測試
- 視圖類功能測試
- 主題測試
- 其他渲染引擎測試
- 數據庫測試
- 鏈接測試
- 驅動測試
- 域名部署測試
- 變量輸入測試
- I方法測試
- 緩存測試
- 基礎功能測試
- 驅動測試
- 日志測試
- 基礎功能測試
- 驅動測試
- 行為測試
- 基礎行為測試(添加、綁定等)
- 語言測試
- 語言包加載測試
- 基礎函數測試
注:命名規范我們會在最后用CodeSniffer檢測