亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

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

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

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

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

相比你正在使用的方法,采用PHPUnit進(jìn)行測(cè)試并不是一個(gè)全然不同的東西。它們只是方法不同。兩者之間的不同在于,檢查程序行為是否符合正確是通過一批可以自動(dòng)測(cè)試的代碼片斷來進(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ù)組成員。?>

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

例2. 采用打印語句測(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,我們就知道有問題了。

例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è)異常。這樣我們的輸出就更簡單了。如果測(cè)試成功,什么也不做,如果有一個(gè)未處理異常,我們知道有問題了。

例4.使用斷言函數(shù)來測(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大片免费观看 | 国产成人看片免费视频观看 | 牛人国产偷窥女洗浴在线观看 | 国产高清在线精品 | 九九综合九九 | 99精品观看 | 日本视频在线免费播放 | 琪琪午夜伦埋大全影院 | 正在播放国产乱子伦视频 | 免费看日韩欧美一级毛片 | 午夜日韩 | 日韩综合色 | 国产一区精品在线观看 | 国产美女一级毛片 | 99国产精品欧美久久久久久影院 | 黄网址在线看 | 中文字幕一区二区三区视频在线 | 欧美成人视 | www.欧美xxxx| 欧美色大成网站www永久男同 | 欧美午夜伦y4480私人影院 | 国产婷婷一区二区在线观看 | 国产一区二区fc2ppv在线播放 | 日韩一级片网址 | 中文字幕在线观看一区二区三区 | 美女很黄很黄免费的 | 免费看操片| 成人欧美一区二区三区在线 | 狼人青草久久网尹人 | 一级黄色毛片播放 | 欧美视频自拍偷拍 | 日韩欧美国产精品第一页不卡 | 欧美高清在线精品一区二区不卡 | 大学生一级一片第一次欧美 | www.av网| 亚洲成年人网址 | 玖玖啪| 国产成人一区二区视频在线观看 | 手机看片国产在线 |