摘要:?jiǎn)卧獪y(cè)試是一個(gè)為代碼編寫(xiě)測(cè)試用例并自動(dòng)運(yùn)行這些測(cè)試的框架。測(cè)試驅(qū)動(dòng)的開(kāi)發(fā)是一種單元測(cè)試方法,其思想是應(yīng)該首先編寫(xiě)測(cè)試程序,并驗(yàn)證這些測(cè)試可以發(fā)現(xiàn)錯(cuò)誤,然后才開(kāi)始編寫(xiě)需要通過(guò)這些測(cè)試的代碼。
phpunit使用
標(biāo)簽(空格分隔): php
現(xiàn)在是凌晨 3 點(diǎn)。我們?cè)鯓硬拍苤雷约旱拇a依然在工作呢?概述Web 應(yīng)用程序是 24x7 不間斷運(yùn)行的,因此我的程序是否還在運(yùn)行這個(gè)問(wèn)題會(huì)在晚上一直困擾我。單元測(cè)試已經(jīng)幫我對(duì)自己的代碼建立了足夠的信心 —— 這樣我就可以安穩(wěn)地睡個(gè)好覺(jué)了。
單元測(cè)試 是一個(gè)為代碼編寫(xiě)測(cè)試用例并自動(dòng)運(yùn)行這些測(cè)試的框架。測(cè)試驅(qū)動(dòng)的開(kāi)發(fā) 是一種單元測(cè)試方法,其思想是應(yīng)該首先編寫(xiě)測(cè)試程序,并驗(yàn)證這些測(cè)試可以發(fā)現(xiàn)錯(cuò)誤,然后才開(kāi)始編寫(xiě)需要通過(guò)這些測(cè)試的代碼。當(dāng)所有測(cè)試都通過(guò)時(shí),我們開(kāi)發(fā)的特性也就完成了。這些單元測(cè)試的價(jià)值是我們可以隨時(shí)運(yùn)行它們 —— 在簽入代碼之前,重大修改之后,或者部署到正在運(yùn)行的系統(tǒng)之后都可以。
-- IBM(https://www.ibm.com/developer...
單元測(cè)試是很多編程語(yǔ)言的基本功能, 為保證代碼的穩(wěn)定性和功能正常, 適當(dāng)?shù)倪M(jìn)行單元測(cè)試是很有必要的. PHPunit是一個(gè)輕量級(jí)的PHP單元測(cè)試框架。
PHPunit可以和xdebug配合來(lái)生成代碼覆蓋率報(bào)告, 并且可以與Jenkins集成來(lái)自動(dòng)測(cè)試, 最后可以和selenium整合來(lái)完成大型的自動(dòng)化集成測(cè)試.
安裝wget https://phar.phpunit.de/phpunit.phar chmod +x phpunit.phar mv phpunit.phar /usr/local/bin/phpunit sudo mv phpunit.phar /usr/local/bin/phpunit phpunit --version使用 PHP中使用
assertEquals(0, count($stack)); array_push($stack, "foo"); $this->assertEquals("foo", $stack[count($stack) - 1]); $this->assertEquals(1, count($stack)); $this->assertEquals("foo", array_pop($stack)); $this->assertEquals(0, count($stack)); } }
執(zhí)行結(jié)果如下
/** * @see https://github.com/jiangjianyong/x-tools/tree/master/language/php/x-phpunit * 使用說(shuō)明 代碼中的phpunit.xml的配置 * 引入phpunit_bootstrap.php * 執(zhí)行class/Test/*.class.php * 避免在每個(gè)測(cè)試文件中都引入相同的頭文件. * 需要在phpunit_bootstrap.php中將TestCase.class.php include, 否則會(huì)報(bào)錯(cuò)(TestCase類(lèi)不存在). * 在含有phpunit.xml文件的目錄下, 執(zhí)行phpunit, 將會(huì)按照phpunit.xml配置執(zhí)行測(cè)試. */xdebug支持,生成測(cè)試覆蓋率報(bào)告../class/Test
phpunit --coverage-html dir testsuite.php
PHPUnit @package_version@ by Sebastian Bergmann.
The Xdebug extension is not loaded.
PHPUNIT生成代碼測(cè)試覆蓋率報(bào)告時(shí),需要xdebug擴(kuò)展支持。
參考文檔PHPunit官方文檔
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/30885.html
摘要:上面的規(guī)定是必須遵守的,如果代碼沒(méi)有遵守規(guī)定不會(huì)把他當(dāng)做單元測(cè)試代碼。每個(gè)單元測(cè)試類(lèi)以被測(cè)試的類(lèi)名開(kāi)頭。每個(gè)單元測(cè)試函數(shù)應(yīng)該為被測(cè)試函數(shù)名結(jié)尾。函數(shù)可能在測(cè)試環(huán)境不可執(zhí)行,那么無(wú)法獲取的執(zhí)行結(jié)果,從而無(wú)法對(duì)進(jìn)行單元測(cè)試。 本文首發(fā)于 https://jaychen.cc/article/34作者 Jaychen showImg(https://segmentfault.com/img/...
摘要:介紹是最古老和最著名的單元測(cè)試包之一。它主要用于單元測(cè)試,這意味著可以用盡可能小的組件測(cè)試代碼,但是它也非常靈活,可以用于很多不僅僅是單元測(cè)試。這時(shí),的測(cè)試助手可以使這些測(cè)試像單元測(cè)試簡(jiǎn)單組件一樣容易。新的測(cè)試代碼如下注意到,在我們新建的 showImg(https://segmentfault.com/img/remote/1460000018355157?w=1440&h=585)...
摘要:所以使用下載安裝的方式。解決了,但警告還在,而且沒(méi)有正常運(yùn)行。從警告信息發(fā)現(xiàn)可以訪(fǎng)問(wèn)的目錄包括,剛好即在變量中,也屬于可以被腳本讀取的目錄,于是再運(yùn)行,得到正確結(jié)果安裝成功 官方指引 很遺憾, phpunit還沒(méi)有在ArchLinux的倉(cāng)庫(kù)里。 所以使用下載安裝的方式。按照官方的指引: wget https://phar.phpunit.de/phpunit.phar chmod...
摘要:以前在學(xué)習(xí)開(kāi)發(fā)時(shí)有專(zhuān)門(mén)寫(xiě)過(guò)的單元測(cè)試的文章,開(kāi)發(fā)學(xué)習(xí)之單元測(cè)試,今天再總結(jié)下怎么在中使用單元測(cè)試。是一個(gè)用編程語(yǔ)言開(kāi)發(fā)的開(kāi)源軟件,是一個(gè)單元測(cè)試框架。單元測(cè)試框架經(jīng)常會(huì)包含每個(gè)測(cè)試的報(bào)告,以及給出你已經(jīng)覆蓋到的代碼覆蓋率。 以前在學(xué)習(xí)IOS開(kāi)發(fā)時(shí)有專(zhuān)門(mén)寫(xiě)過(guò)Objective-C的單元測(cè)試的文章,IOS開(kāi)發(fā)學(xué)習(xí)之單元測(cè)試,今天再總結(jié)下怎么在PHP中使用單元測(cè)試。 一、前言 在這篇文章中,...
摘要:新的構(gòu)造函數(shù)接下來(lái),我想到,用戶(hù)可能需要一個(gè)不同的構(gòu)造函數(shù),當(dāng)創(chuàng)建對(duì)象時(shí),可以傳入一個(gè)值作為賬戶(hù)余額。修改構(gòu)造函數(shù)為這樣調(diào)用時(shí),相當(dāng)于傳遞了給構(gòu)造函數(shù),滿(mǎn)足了需求。 用phpunit實(shí)戰(zhàn)TDD系列 從一個(gè)銀行賬戶(hù)開(kāi)始 假設(shè)你已經(jīng) 安裝了phpunit. 我們從一個(gè)簡(jiǎn)單的銀行賬戶(hù)的例子開(kāi)始了解TDD(Test-Driven-Development)的思想。 在工程目錄下建...
閱讀 3831·2021-11-24 10:46
閱讀 1790·2021-11-15 11:38
閱讀 3853·2021-11-15 11:37
閱讀 3683·2021-10-27 14:19
閱讀 2042·2021-09-03 10:36
閱讀 2065·2021-08-16 11:02
閱讀 3065·2019-08-30 15:55
閱讀 2329·2019-08-30 15:44