国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

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

PHPUnit袖珍指南之自動(dòng)測(cè)試

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

最好的程序員也會(huì)犯錯(cuò)誤。好程序員和差程序員的區(qū)別在于:好程序員能通過(guò)測(cè)試盡可能的發(fā)現(xiàn)錯(cuò)誤。你越快測(cè)試錯(cuò)誤,你就越快發(fā)現(xiàn)它們,發(fā)現(xiàn)和修正的成本就越低。這解釋了為什么只在軟件發(fā)布前才測(cè)試的做法為什么問(wèn)題那么多。大多數(shù)錯(cuò)誤根本就沒(méi)有發(fā)現(xiàn)過(guò),修正發(fā)現(xiàn)的錯(cuò)誤是那么的高,以至于你不得不根據(jù)優(yōu)先級(jí)來(lái)決定只修正那些錯(cuò)誤,因?yàn)槟愀揪统惺懿黄鹑啃拚馁M(fèi)用。

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

例1. 測(cè)試數(shù)組和sizeof()

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

 $fixture[] = 'element'; // $fixture應(yīng)該包含一個(gè)數(shù)組成員。?>

最簡(jiǎn)單的測(cè)試方法是在加入數(shù)組成員前后打印sizeof()的運(yùn)算結(jié)果,如果返回0和1,說(shuō)明Array和sizeof()運(yùn)行正常。

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

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

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

現(xiàn)在,我們讓測(cè)試程序從需要手工解釋變?yōu)樽詣?dòng)運(yùn)行。在例3中,我們比較了期望值和實(shí)際值,如果相等就打印ok。如果我們發(fā)現(xiàn)有的結(jié)果不是ok,我們就知道有問(wèn)題了。

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

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

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

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

例4.使用斷言函數(shù)來(lái)測(cè)試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.');} }?>

現(xiàn)在測(cè)試完全自動(dòng)化了。和我們第一個(gè)版本不同,這個(gè)版本使得測(cè)試完全自動(dòng)化了。

使用自動(dòng)測(cè)試的目的是盡可能少的犯錯(cuò)誤。盡管你的代碼還不是完美的,用優(yōu)良的自動(dòng)測(cè)試,你會(huì)發(fā)現(xiàn)錯(cuò)誤會(huì)明顯減少。自動(dòng)測(cè)試給了你對(duì)代碼公正的信心。有這個(gè)信心,你可以在設(shè)計(jì)上有大膽的飛越,和你的團(tuán)隊(duì)伙伴關(guān)系更好,改善你和客戶(hù)之間的關(guān)系,每天安心入睡,因?yàn)槟憧梢宰C明由于你的努力,系統(tǒng)變得更好了。

標(biāo)簽: PHP
主站蜘蛛池模板: 亚洲精品一区二区三区四区手机版 | 男女午夜性爽快免费视频不卡 | 亚洲人成片在线观看 | 日韩日b视频 | 国内自拍亚洲 | 日韩欧美一级毛片在线 | 免费国产a国产片高清不卡 免费国产不卡午夜福在线 免费国产不卡午夜福在线观看 | 一区二区三区日韩 | 国产一区二区三区免费播放 | 玖玖色视频 | 国产精品视频成人 | 欧美日韩一区二区三区高清不卡 | 国产特黄特色一级特色大片 | 亚洲欧洲日产国产 最新 | 日韩国产欧美在线观看一区二区 | 美国毛片亚洲社区在线观看 | 在线第一页 | www.99精品 | 日韩天天摸天天澡天天爽视频 | 欧美精品黄页免费高清在线 | 美女和男人免费网站视频 | 欧美日韩一区二区三区免费不卡 | 亚洲高清在线播放 | 精品中文字幕在线 | 午夜精| 国产综合视频在线观看一区 | 男女上下爽无遮挡午夜免费视频 | 日本理论片免费高清影视在线观看 | 永久黄网站色视频免费网站 | 久久九九国产精品怡红院 | 欧美一区高清 | 亚洲 自拍 另类 欧美 综合 | 国内美女福利视频在线观看网站 | 武松大战潘金莲三级在线 | 福利视频99 | 91小视频在线观看免费版高清 | 久草在线视频网 | 国产精品国产三级在线高清观看 | 欧美一级毛片欧美毛片视频 | 青青热久久国产久精品 | 久久综合综合久久 |