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

您的位置:首頁技術文章
文章詳情頁

PHPUnit袖珍指南之自動測試

瀏覽:129日期:2024-02-08 13:32:07

最好的程序員也會犯錯誤。好程序員和差程序員的區別在于:好程序員能通過測試盡可能的發現錯誤。你越快測試錯誤,你就越快發現它們,發現和修正的成本就越低。這解釋了為什么只在軟件發布前才測試的做法為什么問題那么多。大多數錯誤根本就沒有發現過,修正發現的錯誤是那么的高,以至于你不得不根據優先級來決定只修正那些錯誤,因為你根本就承受不起全部修正的費用。

相比你正在使用的方法,采用PHPUnit進行測試并不是一個全然不同的東西。它們只是方法不同。兩者之間的不同在于,檢查程序行為是否符合正確是通過一批可以自動測試的代碼片斷來進行的。這些代碼片斷叫做單元測試。 在這一部分,我們先基于打印的測試代碼進行自動測試。假設我們要測試PHP的內建數組Array。需要測試之一是函數sizeof(),對任何新創建的數組,sizeof()函數應該返回 0。當我們加入一個新數組成員,sizeof()應該返回1。例1顯示了我們想測試什么。

例1. 測試數組和sizeof()

<?php $fixture = Array( ); // $fixture應該為空。

 $fixture[] = 'element'; // $fixture應該包含一個數組成員。?>

最簡單的測試方法是在加入數組成員前后打印sizeof()的運算結果,如果返回0和1,說明Array和sizeof()運行正常。

例2. 采用打印語句測試Array和sizeof()

<?php $fixture = Array( ); print sizeof($fixture) . 'n';

 $fixture[] = 'element'; print sizeof($fixture) . 'n';?>01

現在,我們讓測試程序從需要手工解釋變為自動運行。在例3中,我們比較了期望值和實際值,如果相等就打印ok。如果我們發現有的結果不是ok,我們就知道有問題了。

例3. 比較Array和sizeof()的期望值和實際值

<?php $fixture = Array( ); print sizeof($fixture) == 0 ? 'okn' : 'not okn';

 $fixture[] = 'element'; print sizeof($fixture) == 1 ? 'okn' : 'not okn';?>okok

我們現在引入一個新的要素,如果期望值和實際值不同,我們就拋出一個異常。這樣我們的輸出就更簡單了。如果測試成功,什么也不做,如果有一個未處理異常,我們知道有問題了。

例4.使用斷言函數來測試Array和sizeof()

<?php $fixture = Array( ); assertTrue(sizeof($fixture) = = 0);

 $fixture[] = 'element'; assertTrue(sizeof($fixture) = = 1);

 function assertTrue($condition) {if (!$condition) { throw new Exception('Assertion failed.');} }?>

現在測試完全自動化了。和我們第一個版本不同,這個版本使得測試完全自動化了。

使用自動測試的目的是盡可能少的犯錯誤。盡管你的代碼還不是完美的,用優良的自動測試,你會發現錯誤會明顯減少。自動測試給了你對代碼公正的信心。有這個信心,你可以在設計上有大膽的飛越,和你的團隊伙伴關系更好,改善你和客戶之間的關系,每天安心入睡,因為你可以證明由于你的努力,系統變得更好了。

標簽: PHP
主站蜘蛛池模板: 尚为传动-专业高精密蜗轮蜗杆,双导程蜗轮蜗杆,蜗轮蜗杆减速机,蜗杆减速机生产厂家 | 上海小程序开发-小程序制作-上海小程序定制开发公司-微信商城小程序-上海咏熠 | 网站seo优化_seo云优化_搜索引擎seo_启新网络服务中心 | 精准猎取科技资讯,高效阅读科技新闻_科技猎 | 杰恒蠕动泵-蠕动泵专业厂家-19年专注蠕动泵 | 深圳希玛林顺潮眼科医院(官网)│深圳眼科医院│医保定点│香港希玛林顺潮眼科中心连锁品牌 | 天津次氯酸钠酸钙溶液-天津氢氧化钠厂家-天津市辅仁化工有限公司 | 一航网络-软件测评官网 | 上海网站建设-上海网站制作-上海网站设计-上海做网站公司-咏熠软件 | 劳动法网-专业的劳动法和劳动争议仲裁服务网 | 电渗析,废酸回收,双极膜-山东天维膜技术有限公司 | 361°官方网站| ORP控制器_ORP电极价格-上优泰百科 | 郑州大巴车出租|中巴车租赁|旅游大巴租车|包车|郑州旅游大巴车租赁有限公司 | 冷藏车厂家|冷藏车价格|小型冷藏车|散装饲料车厂家|程力专用汽车股份有限公司销售十二分公司 | 喷播机厂家_二手喷播机租赁_水泥浆洒布机-河南青山绿水机电设备有限公司 | LOGO设计_品牌设计_VI设计 - 特创易 | 高效复合碳源-多核碳源生产厂家-污水处理反硝化菌种一长隆科技库巴鲁 | 轻型地埋电缆故障测试仪,频响法绕组变形测试仪,静荷式卧式拉力试验机-扬州苏电 | 蜘蛛车-登高车-高空作业平台-高空作业车-曲臂剪叉式升降机租赁-重庆海克斯公司 | 精密模具加工制造 - 富东懿 | 标策网-专注公司商业知识服务、助力企业发展 | 电竞馆加盟,沈阳网吧加盟费用选择嘉棋电竞_售后服务一体化 | 百度关键词优化_网站优化_SEO价格 - 云无限好排名 | 碳化硅,氮化硅,冰晶石,绢云母,氟化铝,白刚玉,棕刚玉,石墨,铝粉,铁粉,金属硅粉,金属铝粉,氧化铝粉,硅微粉,蓝晶石,红柱石,莫来石,粉煤灰,三聚磷酸钠,六偏磷酸钠,硫酸镁-皓泉新材料 | 深圳南财多媒体有限公司介绍| 【灵硕展览集团】展台展会设计_展览会展台搭建_展览展示设计一站式服务公司 | 储气罐,真空罐,缓冲罐,隔膜气压罐厂家批发价格,空压机储气罐规格型号-上海申容压力容器集团有限公司 | 合肥角钢_合肥槽钢_安徽镀锌管厂家-昆瑟商贸有限公司 | 100_150_200_250_300_350_400公斤压力空气压缩机-舰艇航天配套厂家 | 加气混凝土砌块设备,轻质砖设备,蒸养砖设备,新型墙体设备-河南省杜甫机械制造有限公司 | 高压互感器,电流互感器,电压互感器-上海鄂互电气科技有限公司 | 免费分销系统 — 分销商城系统_分销小程序开发 -【微商来】 | 踏板力计,制动仪,非接触多功能速度仪,逆反射系数测试仪-创宇 | 缓蚀除垢剂_循环水阻垢剂_反渗透锅炉阻垢剂_有机硫化物-郑州威大水处理材料有限公司 | 淋巴细胞分离液_口腔医疗器材-精欣华医疗器械(无锡)有限公司 | 苏州西朗门业-欧盟CE|莱茵UL双认证的快速卷帘门品牌厂家 | 岩棉切条机厂家_玻璃棉裁条机_水泥基保温板设备-廊坊鹏恒机械 | 合肥展厅设计-安徽展台设计-合肥展览公司-安徽奥美展览工程有限公司 | 珠海网站建设_响应网站建设_珠海建站公司_珠海网站设计与制作_珠海网讯互联 | 工业车间焊接-整体|集中除尘设备-激光|等离子切割机配套除尘-粉尘烟尘净化治理厂家-山东美蓝环保科技有限公司 |