淺析PHP官方自動化測試方法(一)

來源:互聯網
上載者:User

簡介:本文將從一個測試人員的角度對 PHP 官方的自動化測試方法,自動化測試架構結構,以及具體 的實現進行分析和研究。通過實際的例子,向讀者展示 PHP 是如何?有效自動化測試以保證其代碼 高品質的。讀者通過閱讀本文,可以學習 PHP 官方自動化測試方法和實現,並將這種自動化測試方法應 用到自己的開發過程中,提高代碼功能品質。

PHP 官方自動化測試方法簡述

以下介紹以 PHP 最新官方版本 5.2.8 的源碼在 LINUX 系統平台上的分析為例展開。首先來看一下 PHP 的自動化測試指令碼 PHPT 指令碼。

自動化測試指令碼 PHPT 樣本

PHP 的測試指令碼是以“ .phpt ”為尾碼,包含 TEST,FILE,EXPECT 等多個段落的檔案,簡稱 PHPT 。在各個段落中,TEST,FILE,EXPECT 是基本的段落,每個測試指令碼都必須至少包括這三個段落。其中 ,TEST 段可以用來填寫測試案例的名字; FILE 段是一個 PHP 指令碼實現的測試案例; EXPECT 段則是測 試用例的期待值。測試案例的運行中,PHP 將用被測試的 PHP 可執行對象去運行 FILE 段中的測試案例 ,用實際的結果去比對測試案例中 EXPECT 段所列的期待值;如果實際結果和期待值一致,則測試通過; 如果不一致,則測試失敗。

表 1 列出的是常用的段落名和其相應的填充內容說明。

表 1. PHP 測試指令碼中的段落說明

段落名 填充內容 備忘
TEST 測試案例名稱 必填段落
ARGS FILE 段的輸入參數 選填段落
SKIPIF 跳過這個測試的條件 選填段落
POST 傳入測試指令碼的 POST 變數 選填段落。如果使用 POST 段,建議配合使用 SKIPIF 段,如:

--SKIPIF--

<?php if (php_sapi_name()=='cli') echo 'skip'; ?>

GET 傳入測試指令碼的 GET 變數 選填段落。如果使用 POST 段,建議配合使用 SKIPIF 段,如:

--SKIPIF--

<?php if (php_sapi_name()=='cli') echo 'skip'; ?>

INI 應用於測試指令碼的 ini 設定 選填段落。例如 foo=bar 。其值可通過函數 ini_get(string name_entry) 獲得。
FILE 測試指令碼語句 必填段落。應用 PHP 語言書寫的指令碼語句。其執行的結果將與 EXPECT* 段的期待值做對比。
EXPECT 測試指令碼的期待值 必填段落
EXPECTF 測試指令碼的期待值,可用函數 sscanf() 中的格式表達期待值 EXPECT 段的變體
EXPECTREGEX 測試指令碼的期待值,可用正則式表達期待值 EXPECT 段的變體

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.