日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > php >内容正文

php

PHP 单元测试工具 SimpleTest

發(fā)布時間:2024/9/20 php 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PHP 单元测试工具 SimpleTest 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

對PHP開發(fā)者來說,單元測試這個名詞也許有些陌生,但是實際上我們卻常常在自發(fā)的進行著單元測試。

如果你總是一邊添加代碼一邊不斷地在 刷新著頁面,那么,單元測試早已融入了你的開發(fā)中。是的,單元測試其實就是通過盡可能早盡可能快的進行測試來把錯誤扼殺在搖籃中的,不過使用的,是自動化 的工具。根據(jù)TDD(測試驅(qū)動開發(fā))的思想,我們在一個功能開始之前就可以創(chuàng)建它的測試代碼,然后通過不斷的測試、和添加功能來不斷的完善它,在這個過程 中,我們對需求和編碼的理解會變得更為深入。

PHP開發(fā)者的單元測試工具包

在PHP領(lǐng)域,單元測試的工具主要有 PHPUNIT,PHPUNIT2和SimpleTest三種。其中PHPUNIT在功能上很簡單,不算完善;PHPUNIT2是專門為PHP5寫的單元 測試工具,在結(jié)構(gòu)和功能上都向Junit看齊;而SimpleTest則是一套非常實用的測試工具,其中的webTest支持對web程序界面的測試,是 Easy最為推薦的一款測試工具。在本文中,我們選擇SimpleTest進行介紹。

相關(guān)知識:PHPUNIT2也是一款很好的工具,尤其是架構(gòu)上有很多值得圈點之處,希望將來能有機會在專門的文章中和大家分享。

SimpleTest:就是這么Simple

安裝SimpleTest很簡單,上sf.net上下載一個源碼包,然后解壓到web目錄下就可以使用了,這里就不多說。

下面我們先來看個例子:編寫一個測試,檢查一個網(wǎng)站是否可以訪問。

首先我們引入要用到的文件:

代碼列表:

require_once(?’../simpletest/unit_tester.php’?);
require_once(?’../simpletest/web_tester.php’?);
require_once(’../simpletest/reporter.php’);

然后我們創(chuàng)建一個測試類:

代碼列表:

class?TestOfSite?extends?WebTestCase
{
function?TestOfSite()
{
$this-〉WebTestCase(’測試’);
}

function?testSite()
{
$this-〉get(?’http://howgo.net/prettyface/display.php’?);
$this-〉assertTitle(’.:?漂亮臉蛋?:.’?);
}
}

首先我們擴展了webTestCase類,這樣我們就可以自動獲得測試web的能力,然后在構(gòu)造函數(shù)中我們直接使用基類的,只是把標(biāo)題傳給它。接著我們就該寫測試方法了,測試方法都是以‘test’開頭的,用以識別在我們運行測試的時候,類中哪些方法要進行調(diào)用。

而$this-〉get將取得網(wǎng)頁的內(nèi)容,我們指定它的標(biāo)題為“.:?漂亮臉蛋?:.”。接著我們要做的就是實例化這個類的對象,并運行它。

代碼列表:

$test?=?&new?TestOfSite();
$test-〉run(new?HtmlReporter());

下邊是運行結(jié)果:

如果測試出錯則會出現(xiàn)下邊的界面:

到這里一個簡單的測試就算完成了。

實戰(zhàn)演習(xí)?–?一個Login測試

下面我們進入實戰(zhàn),在這個基礎(chǔ)上完成一個login的測試。這次我們先貼出完整的代碼:

代碼列表:

require_once(?’../simpletest/unit_tester.php’?);
require_once(?’../simpletest/web_tester.php’?);
require_once(’../simpletest/reporter.php’);

class?TestOfLogin?extends?WebTestCase
{
function?TestOfLogin()
{
$this-〉WebTestCase(’Login測試’);
}?

function?testLoginOk()
{
//?取得頁面
$this-〉get(?’http://howgo.net/prettyface/login.php’?);

//?添加測試表項
$this-〉setField(?’name’?,?’Easy’?);
$this-〉setField(?’pass’?,?’******’?);

//?提交
$this-〉clickSubmit(?’提交’?);

//?察看提交后返回頁面是否正確
$this-〉assertWantedPattern(?’/成功登錄/’?);

//?點擊頁面鏈接
$this-〉clickLink(?’點擊這里進入管理頁面’?);

//?察看指定頁面標(biāo)題和關(guān)鍵內(nèi)容
$this-〉assertTitle(’ADMINCP’?);
$this-〉assertWantedPattern(?’/請選擇要進行的任務(wù)/’?);

//?退出登陸
$this-〉clickLink(?’退出管理’?);
$this-〉clickLink

來源:http://www.cnblogs.com/linzhenjie/archive/2012/11/17/2774261.html


總結(jié)

以上是生活随笔為你收集整理的PHP 单元测试工具 SimpleTest的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。