午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

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

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

瀏覽:189日期: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)系更好,改善你和客戶之間的關(guān)系,每天安心入睡,因?yàn)槟憧梢宰C明由于你的努力,系統(tǒng)變得更好了。

標(biāo)簽: PHP
主站蜘蛛池模板: 日本a天堂| 国产精品自拍一区 | 日韩专区一区 | 最新国产精品视频 | 免费日韩网站 | 欧美成人激情 | av一本 | 五月天亚洲色图 | 91一区二区三区在线观看 | 欧美日韩成人一区二区 | 国产精品色悠悠 | 波多野一区二区 | 爱爱高潮视频 | 亚洲伊人网站 | 亚洲三级在线播放 | av色资源 | 成人免费一级视频 | 色综合天天综合网国产成人网 | 午夜视频在线观看一区 | 99色在线观看 | 日韩欧美一区二区三区在线观看 | 色婷婷网 | 国产一区二区免费视频 | 国产三级视频在线播放 | 欧美巨大另类极品videosbest | 99久久99久久精品免费看蜜桃 | 国产精品99久久久久久动医院 | 五月婷久久 | 亚洲欧美综合在线观看 | 伊人网在线免费 | 国产日韩综合 | 国产三级精品在线观看 | 亚洲乱码中文字幕 | 国产区视频在线 | 色哟哟一区二区 | 成人看片黄a免费看视频 | 国产天堂网 | 美女午夜影院 | 香蕉视频h | 亚洲精品一二三区 | 国产午夜免费 |