电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

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

PHPUnit袖珍指南之PHPUnit的目的

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

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

例5展示了如何用PHPUnit重寫例4中的兩個測試。

例5. 用PHPUnit測試 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增加一個成員。 $fixture[] = 'Element';  //斷言數(shù)組fixture的大小是1。 $this->assertEquals(1, sizeof($fixture));} }?>

例5告訴我們用PHPUnit來寫測試的基本步驟是:

1.類Class的測試類是ClassTest。

2.ClassTest一般繼承PHPUnit2_ Framework_TestCase。

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

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

一個如PHPUnit的框架需要解決一系列問題,有些看起來互相沖突。測試必須同時滿足以下條件:

易學

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

易開發(fā)

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

易讀

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

容易執(zhí)行

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

快速執(zhí)行

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

代碼隔離

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

可組合的

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

這些約束條件有兩個主要的沖突:

易學vs易開發(fā)

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

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

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

PHPUnit解決這個問題的辦法是采用PHP作為測試語言。有時,全功能的PHP對于書寫短小的,直接的測試是過于強大了,不過,我們利用的程序員已經(jīng)有使用PHP的全部經(jīng)驗。因為我們需要說服勉強的測試人員,降低書寫這些初始測試的門檻是及其重要的。

標簽: PHP
主站蜘蛛池模板: 网站优化公司_北京网站优化_抖音短视频代运营_抖音关键词seo优化排名-通则达网络 | 退火炉,燃气退火炉,燃气热处理炉生产厂家-丹阳市丰泰工业炉有限公司 | 复盛空压机配件-空气压缩机-复盛空压机(华北)总代理 | 隧道烘箱_隧道烘箱生产厂家-上海冠顶专业生产烘道设备 | 龙门加工中心-数控龙门加工中心厂家价格-山东海特数控机床有限公司_龙门加工中心-数控龙门加工中心厂家价格-山东海特数控机床有限公司 | 深圳天际源广告-形象堆头,企业文化墙,喷绘,门头招牌设计制作专家 | 砖机托板价格|免烧砖托板|空心砖托板厂家_山东宏升砖机托板厂 | 布袋除尘器|除尘器设备|除尘布袋|除尘设备_诺和环保设备 | 盐水蒸发器,水洗盐设备,冷凝结晶切片机,转鼓切片机,絮凝剂加药系统-无锡瑞司恩机械有限公司 | 杭州画室_十大画室_白墙画室_杭州美术培训_国美附中培训_附中考前培训_升学率高的画室_美术中考集训美术高考集训基地 | 西宁装修_西宁装修公司-西宁业之峰装饰-青海业之峰墅级装饰设计公司【官网】 | 假肢-假肢价格-假肢厂家-河南假肢-郑州市力康假肢矫形器有限公司 | 不锈钢监控杆_监控立杆厂家-廊坊耀星光电科技有限公司 | 展厅设计-展馆设计-专业企业展厅展馆设计公司-昆明华文创意 | 深圳市宏康仪器科技有限公司-模拟高空低压试验箱-高温防爆试验箱-温控短路试验箱【官网】 | GEDORE扭力螺丝刀-GORDON防静电刷-CHEMTRONICS吸锡线-上海卓君电子有限公司 | 上海办公室设计_办公楼,写字楼装修_办公室装修公司-匠御设计 | 武汉印刷厂-不干胶标签印刷厂-武汉不干胶印刷-武汉标签印刷厂-武汉标签制作 - 善进特种标签印刷厂 | 湖南印刷厂|长沙印刷公司|画册印刷|挂历印刷|台历印刷|杂志印刷-乐成印刷 | 加中寰球移民官网-美国移民公司,移民机构,移民中介,移民咨询,投资移民 | 铝板冲孔网,不锈钢冲孔网,圆孔冲孔网板,鳄鱼嘴-鱼眼防滑板,盾构走道板-江拓数控冲孔网厂-河北江拓丝网有限公司 | 隔离变压器-伺服变压器--输入输出电抗器-深圳市德而沃电气有限公司 | 电动不锈钢套筒阀-球面偏置气动钟阀-三通换向阀止回阀-永嘉鸿宇阀门有限公司 | 订做不锈钢_不锈钢定做加工厂_不锈钢非标定制-重庆侨峰金属加工厂 | 999范文网_优质范文下载写作帮手 | 编织人生 - 权威手工编织网站,编织爱好者学习毛衣编织的门户网站,织毛衣就上编织人生网-编织人生 | 天助网 - 中小企业全网推广平台_生态整合营销知名服务商_天助网采购优选 | Magnescale探规,Magnescale磁栅尺,Magnescale传感器,Magnescale测厚仪,Mitutoyo光栅尺,笔式位移传感器-苏州连达精密量仪有限公司 | 防爆电机_防爆电机型号_河南省南洋防爆电机有限公司 | 奶茶加盟,奶茶加盟店连锁品牌-甜啦啦官网 | 万家财经_财经新闻_在线财经资讯网 | 水质监测站_水质在线分析仪_水质自动监测系统_多参数水质在线监测仪_水质传感器-山东万象环境科技有限公司 | 液氮罐_液氮容器_自增压液氮罐-北京君方科仪科技发展有限公司 | 拉伸膜,PE缠绕膜,打包带,封箱胶带,包装膜厂家-东莞宏展包装 | 发电机价格|发电机组价格|柴油发电机价格|柴油发电机组价格网 | 雪花制冰机(实验室雪花制冰机)百科 | 福建自考_福建自学考试网| 碳纤维布-植筋胶-灌缝胶-固特嘉加固材料公司 | 伺服电机维修、驱动器维修「安川|三菱|松下」伺服维修公司-深圳华创益 | 在线浊度仪_悬浮物污泥浓度计_超声波泥位计_污泥界面仪_泥水界面仪-无锡蓝拓仪表科技有限公司 | 电动百叶窗,开窗器,电动遮阳百叶,电动开窗机生产厂家-徐州鑫友工控科技发展有限公司 |