久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

PHPUnit袖珍指南之PHPUnit的目的

瀏覽:101日期:2024-02-08 10:28:26

到此為止,我們只有兩個(gè)對(duì)Array和內(nèi)建函數(shù)sizeof()的測(cè)試。當(dāng)我們開始測(cè)試大量的array_*()函數(shù)時(shí),每個(gè)都需要一個(gè)測(cè)試。我們可以每個(gè)都從頭寫起。但是,更好的方法是一次性寫好一個(gè)測(cè)試基礎(chǔ)構(gòu)架,以后就只用寫每個(gè)測(cè)試不同的部分。PHPUnit就是這樣一個(gè)基礎(chǔ)構(gòu)架。

例5展示了如何用PHPUnit重寫例4中的兩個(gè)測(cè)試。

例5. 用PHPUnit測(cè)試 Array和sizeof().

<?php require_once 'PHPUnit2/Framework/TestCase.php';

 class ArrayTest extends PHPUnit2_Framework_TestCase {public function testNewArrayIsEmpty( ) { // 創(chuàng)建數(shù)組fixture。 $fixture = Array( );  // 斷言數(shù)組fixture的大小是0。 $this->assertEquals(0, sizeof($fixture)); }public function testArrayContainsAnElement( ) {  // 創(chuàng)建數(shù)組fixture。 $fixture = Array( );

 // 為數(shù)組fixture增加一個(gè)成員。 $fixture[] = 'Element';  //斷言數(shù)組fixture的大小是1。 $this->assertEquals(1, sizeof($fixture));} }?>

例5告訴我們用PHPUnit來(lái)寫測(cè)試的基本步驟是:

1.類Class的測(cè)試類是ClassTest。

2.ClassTest一般繼承PHPUnit2_ Framework_TestCase。

3.測(cè)試是公有方法,沒有參數(shù),名字是test*。

4.在測(cè)試方法中,斷言函數(shù),如assertEquals()(見表6)用于斷言實(shí)際值是否匹配期望值。

一個(gè)如PHPUnit的框架需要解決一系列問(wèn)題,有些看起來(lái)互相沖突。測(cè)試必須同時(shí)滿足以下條件:

易學(xué)

測(cè)試必須容易學(xué),否則,開發(fā)人員不會(huì)去學(xué)

易開發(fā)

測(cè)試必須容易開發(fā),否則,開發(fā)人員不會(huì)去開發(fā)

易讀

測(cè)試代碼必須沒有外部關(guān)系,這樣測(cè)試本身不會(huì)在雜亂無(wú)章中迷失。

容易執(zhí)行

測(cè)試應(yīng)該很容易執(zhí)行,執(zhí)行的結(jié)果以一種清楚和明確的格式表達(dá)出來(lái)。

快速執(zhí)行

測(cè)試應(yīng)該執(zhí)行的很快,這樣每天才能執(zhí)行上千次。

代碼隔離

測(cè)試之間不能互相影響,測(cè)試順序的改變不應(yīng)該影響結(jié)果。

可組合的

我們應(yīng)該可以以任何組合來(lái)運(yùn)行測(cè)試,這是代碼隔離的一個(gè)必然結(jié)果。

這些約束條件有兩個(gè)主要的沖突:

易學(xué)vs易開發(fā)

測(cè)試通常不需要應(yīng)用到編程全部的靈活性。很多測(cè)試工具提供了它們自己的測(cè)試腳本語(yǔ)言,這些語(yǔ)言只有書寫測(cè)試所需特性的最小集,因?yàn)闆]有噪聲來(lái)干擾你的測(cè)試內(nèi)容,寫出來(lái)的測(cè)試易讀易寫。但是學(xué)一種新的編織郵件和一套工具還是不方便的,容易混淆視聽。

代碼隔離vs快速執(zhí)行

如果你想要一個(gè)測(cè)試的結(jié)果不影響另一個(gè),每個(gè)測(cè)試在開始運(yùn)行的階段,都需要?jiǎng)?chuàng)建測(cè)試的全專題,返回后又要恢復(fù)運(yùn)行之前的狀態(tài)。可是,設(shè)置狀態(tài)需要的時(shí)間很長(zhǎng)(如,連接到數(shù)據(jù)庫(kù),用真實(shí)數(shù)據(jù)初始化到一個(gè)已知狀態(tài))

PHPUnit解決這個(gè)問(wèn)題的辦法是采用PHP作為測(cè)試語(yǔ)言。有時(shí),全功能的PHP對(duì)于書寫短小的,直接的測(cè)試是過(guò)于強(qiáng)大了,不過(guò),我們利用的程序員已經(jīng)有使用PHP的全部經(jīng)驗(yàn)。因?yàn)槲覀冃枰f(shuō)服勉強(qiáng)的測(cè)試人員,降低書寫這些初始測(cè)試的門檻是及其重要的。

標(biāo)簽: PHP
主站蜘蛛池模板: 最新伦理片| 91精品国产综合久久久蜜臀图片 | 日韩欧美一区二区在线观看视频 | 杏导航aⅴ福利网站 | 亚洲一级黄色 | 日本高清视频网站 | 亚洲欧美中文日韩在线v日本 | 亚洲精品一区中文字幕乱码 | 国产精品国产成人国产三级 | 激情网页 | 久久久久久99精品 | xx视频在线观看 | 中文字幕亚洲精品 | h视频网站在线 | 久久国内免费视频 | 天天想天天干 | 九九精品视频在线观看 | 欧美在线观看网站 | 久久久久久久精 | 日韩一区二区视频 | 在线欧美视频 | 成人欧美一区二区三区黑人孕妇 | 视频一区二区三区中文字幕 | 亚洲五月婷婷 | 爱福利视频 | 久久精品无码一区二区日韩av | 国产日韩免费视频 | 国产高清在线观看 | 91免费看 | 天天草天天干天天 | 天天干人人 | 欧美久热 | 国产一区二区在线播放 | 欧洲一级毛片 | 亚洲午夜精品视频 | av国产精品 | 久久精品欧美 | 国产精品成人在线观看 | 欧美日韩在线免费观看 | 成人av免费| 久久免费国产 |