Yii框架官方指南系列增補版40-測驗:功能測驗(Functional Testing )
在閱讀本章節之前, 強烈推薦你先閱讀Selenium文檔和 PHPUnit文檔. 下面我們簡要概述在Yii框架中編寫功能測試的基本原則:
-
和單元測試以繼承子自CWebTestCase的XyzTest類別的形式編寫, 其中
protected/tests/functional資料夾下Xyz
代表被測試的類別. 由於PHPUnit_Extensions_SeleniumTestCase
是CWebTestCase的祖先類別, 我們可以從這個類別中繼承.以XyzTest.php的形式保存在PHP檔案中.方便起見, 功能測試檔案通常保存在 . -
Abc測試類別主要包含一系列命名為testAbc 其中的測試方法,
通常是要測試的特性的名字,例如, 想要測試使用者登入功能, 我們可能會有一個命名為 - testLogin的測試方法
.
測試方法包含一系列的測試方法中包含一系列的用於測試RC Selenium RC 和web應用程式之間進行互動的命令語句. 它還包含用於確認我們所期望的web應用回复的斷言語句.
-
在描述如何寫一個功能測試之前, 我們先看看通過yiic webapp命令自動產生的
WebTestCase.php 檔案。這個檔案定義了作為所有功能測試類別的基類
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">define('TEST_BASE_URL','http://localhost/yii/demos/blog/index-test.php/');
class WebTestCase extends CWebTestCase
{
/**
* Sets up before each test method runs.
* This mainly sets the base URL for the test application.
*/
protected function setUp()
{
parent::setUp();
$this->setBrowserUrl(TEST_BASE_URL);
}
......
}</pre><div class="contentsignin">登入後複製</div></div>
主要設定了測試頁面的根URL,後面在測試方法中我們可以使用相對要測試方法頁面。
我們還要注意,在測試根URL中, 使用了 index-test.php
作為入口腳本而不是
. 兩者之間的唯一不同就是前者使用test.php作為應用配置文件,而後者使用的是 main.php
.現在我們開始講述測試在blog演示中如何測試顯示一篇文章這一功能特性. 首先編寫如寫的測試類, 注意測試類繼承自我們上面所述的基類WebTestCase:
class PostTest extends WebTestCase { public $fixtures=array( 'posts'=>'Post', ); public function testShow() { $this->open('post/1'); // verify the sample post title exists $this->assertTextPresent($this->posts['sample1']['title']); // verify comment form exists $this->assertTextPresent('Leave a Comment'); } ...... }
和寫單元測試一樣,我們首先聲明了本測試所用到的特定狀態( fixtures).這裡我們指定使用
Post在 fixture.howS. , 我們先使用Selenium RC 打開URL
post/1.注意這是一個相對URL, 完整的URL 是拼接了基類中的根URL (i.e. http://www.php.cn/
). 然後我們驗證是否可以在目前頁面中找到sample1
post 的title. 我們也可以驗證這個頁面是否包含文字 Leave a Comment
.Tip:
在執行功能測試之前啟動. 這可以透過在你的Selenium server安裝目錄下執行指令
來實現。 以上就是Yii框架官方指南系列增補版40——測試:功能測試(Functional Testing )的內容,更多相關內容請關注PHPcn網(www.php.cn)!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Yii框架中間件:為應用程式提供多重資料儲存支援介紹中間件(middleware)是Yii框架中的重要概念,它為應用程式提供了多重資料儲存支援。中間件的作用類似於一個過濾器,它能夠在應用程式的請求和回應之間插入自訂程式碼。透過中間件,我們可以對請求進行處理、驗證、過濾,然後將處理後的結果傳遞給下一個中間件或最終的處理程序。 Yii框架中的中間件使用起來非常

近年來,隨著遊戲產業的快速發展,越來越多的玩家開始尋找遊戲攻略來幫助遊戲過關。因此,創建遊戲攻略網站可以讓玩家更方便取得遊戲攻略,同時也能為玩家提供更好的遊戲體驗。在創建這樣一個網站時,我們可以使用Yii框架來進行開發。 Yii框架是一個基於PHP程式語言的Web應用開發框架。它具有高效、安全、擴展性強等特點,可以為我們更快速、高效地創建一個遊戲攻略

Yii框架中間件:為應用程式新增日誌記錄和偵錯功能【引言】在開發Web應用程式時,我們通常需要添加一些附加功能以提高應用程式的效能和穩定性。 Yii框架提供了中間件的概念,使我們能夠在應用程式處理請求之前和之後執行一些額外的任務。本文將介紹如何使用Yii框架的中間件功能來實作日誌記錄和除錯功能。 【什麼是中間件】中間件是指在應用程式處理請求之前和之後,對請求和回應做

使用Yii框架實現網頁快取和頁面分塊的步驟引言:在Web開發過程中,為了提升網站的效能和使用者體驗,常常需要對頁面進行快取和分塊處理。 Yii框架提供了強大的快取和佈局功能,可以幫助開發者快速實現網頁快取和頁面分塊,本文將介紹如何使用Yii框架進行網頁快取和頁面分塊的實作。一、網頁快取開啟網頁快取在Yii框架中,可以透過設定檔來開啟網頁快取。開啟主設定檔co

隨著Web應用程式的快速發展,現代Web開發已成為一項重要技能。許多框架和工具可用於開發高效的Web應用程序,其中Yii框架就是一個非常流行的框架。 Yii是一個高效能、基於元件的PHP框架,它採用了最新的設計模式和技術,提供了強大的工具和元件,是建立複雜Web應用程式的理想選擇。在本文中,我們將討論如何使用Yii框架來建立Web應用程式。安裝Yii框架首先,

GitLab的整合測試功能及常見用例【引言】在軟體開發過程中,測試是不可或缺的環節之一。在持續整合和持續交付的開發環境下,整合測試扮演了至關重要的角色。而GitLab作為廣受歡迎的程式碼託管平台,不僅提供了版本管理和協作工具,同時也提供了豐富的整合測試功能。本文將詳細介紹GitLab的整合測試功能,並提供常見的測試案例和程式碼範例。 【GitLab整合測試功能】G

PHP程式碼測試功能的使用技巧與經驗分享在開發PHP應用程式時,程式碼測試是非常重要的環節。透過程式碼測試可以檢查和驗證程式碼的正確性,確保程式的穩定運作。本文將介紹一些PHP程式碼測試的使用技巧和經驗,幫助開發人員更好地進行程式碼測試。使用單元測試框架單元測試是針對程式中各個獨立功能模組進行的測試。使用單元測試框架可以簡化測試過程,並提供一些強大的斷言和測試結果報告生

php程式碼測試功能的黑盒測試與白盒測試技術解析引言:在開發和維護PHP應用程式時,測試是非常重要的一環。透過測試,我們可以驗證程式碼的正確性、穩定性及安全性,從而提高應用程式的品質。本文將圍繞PHP程式碼測試功能展開,重點介紹黑盒測試和白盒測試兩種常用的測試技術,並且將會提供一些程式碼範例來加深理解。一、黑盒測試黑盒測試是一種功能測試方法,它把被測程序看作一個黑盒
