色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

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

PHPUnit袖珍指南之命令行測(cè)試工具

瀏覽:86日期:2024-02-08 15:40:41

PHPUnit命令行測(cè)試工具是通過(guò)phpunit命令調(diào)用的。如下代碼顯示如何通過(guò)PHPUnit命令行測(cè)試工具運(yùn)行測(cè)試。

phpunit ArrayTestPHPUnit 2.3.0 by Sebastian Bergmann.

Time: 0.067288

OK (2 tests)

對(duì)每個(gè)測(cè)試,PHPUnit命令行測(cè)試工具打印一個(gè)字符表示進(jìn)程:

·測(cè)試成功打印“.”。

·運(yùn)行測(cè)試方法是發(fā)生了斷言失敗打印“F”。

·運(yùn)行測(cè)試方法是發(fā)生了錯(cuò)誤打印“E”。

·測(cè)試沒(méi)有完成或測(cè)試沒(méi)有實(shí)現(xiàn)打印“I”(見(jiàn)本書(shū)后“未完成的測(cè)試”一章)。

PHPUnit可以區(qū)分失敗和錯(cuò)誤。一個(gè)失敗是PHPUnit的斷言違例,錯(cuò)誤是一個(gè)意料外的異常或一個(gè)PHP錯(cuò)誤。有時(shí)候這種差別是有用的,因?yàn)殄e(cuò)誤相比失敗更容易修正。如果你有一大串問(wèn)題列表,最好先解決所有錯(cuò)誤,然后看看有沒(méi)有失敗遺留下來(lái)。

讓我們看看如下一些代碼命令行測(cè)試工具的選項(xiàng):

phpunit --helpPHPUnit 2.3.0 by Sebastian Bergmann.

Usage: phpunit [switches] UnitTest [UnitTest.php]--coverage-data <file> Write code-coverage data in raw format to file.--coverage-html <file> Write code-coverage data in HTML format to file.--coverage-text <file> Write code-coverage data in text format to file.--testdox-html <file> Write agile documentation in HTML format to file.--testdox-text <file> Write agile documentation in Text format to file.--log-xml <file> Log test progress in XML format to file.--loader <loader> TestSuiteLoader implementation to use.--skeleton Generate skeleton UnitTest class for Unit in Unit.php.--wait Waits for a keystroke after each test.--help Prints this usage information.--version Prints the version and exits.

phpunit UnitTest

運(yùn)行類(lèi)UnitTest提供的測(cè)試,該類(lèi)應(yīng)該定義在源文件UnitTest.php中。

類(lèi)UnitTest必須繼承PHPUnit2_Framework_TestCase類(lèi),或是提供了公有靜態(tài)方法suite,并返回PHPUnit2_ Framework_Test對(duì)象的類(lèi)(例如,類(lèi)PHPUnit2_Framework_TestSuite的一個(gè)實(shí)例)

phpunit UnitTest UnitTest.php

運(yùn)行類(lèi)UnitTest提供的測(cè)試,該類(lèi)要定義在命令指定的源文件(UnitTest.php)中。

--coverage-data, --coverage-html, and --coverage-text

控制運(yùn)行測(cè)試的代碼覆蓋信息的分析和集合(參見(jiàn)本書(shū)后代碼覆蓋分析一節(jié))

--testdox-html and --testdox-text

以HTML或普通文本格式生成運(yùn)行測(cè)試的敏捷文檔(參見(jiàn)本書(shū)后的“測(cè)試的其他用途”一章)

--log-xml

生成運(yùn)行測(cè)試的XML格式的日志文件。

下一個(gè)例子顯示為ArrayTest中的測(cè)試生成的XML日志文件。

<?xml version='1.0' encoding='UTF-8'?> <testsuites>  <testsuite name='ArrayTest' tests='2' failures='0' errors='0' time='0.020026'>  <testcase name='testNewArrayIsEmpty' time='0.014449'/> <testcase name='testArrayContainsAnElement' time='0.005577'/> </testsuite> </testsuites>

下面的XML日志文件是為名為FailureErrorTest的測(cè)試類(lèi)兩個(gè)測(cè)試生成的,一個(gè)是testFailure,一個(gè)是testError。這顯示了失敗和錯(cuò)誤是如何分別表示的。

<?xml version='1.0' encoding='UTF-8'?> <testsuites>  <testsuite name='FailureErrorTest' tests='2' failures='1' errors='1' time='0.013603'>  <testcase name='testFailure' time='0.011872'> <failure message='' type='PHPUnit2_Framework_AssertionFailedError'></failure></testcase><testcase name='testError' time='0.001731'>  <error message='' type='Exception'></error> </testcase></testsuite></testsuites>--loader

指定將要使用的測(cè)試套件加載器。

標(biāo)準(zhǔn)測(cè)試套件加載器會(huì)在當(dāng)前工作目錄和PHP的include_path configuration指令定義的路徑中尋找源文件。按照PEAR的命名規(guī)則,形如Project_Package_Class的類(lèi)名會(huì)映射到的源文件為Project/Package/Class.php。

--skeleton

為類(lèi)Unit(在文件Unit.php中)生成一個(gè)名為UnitTest(在文件UnitTest.php中)的測(cè)試用例類(lèi)的框架。對(duì)原始類(lèi)的每個(gè)方法,在生成的測(cè)試用例類(lèi)中提供了一個(gè)未完成的測(cè)試用例(見(jiàn)本書(shū)后的“未完成測(cè)試”部分)。

下面的例子顯示了如何為一個(gè)名為Sample的類(lèi)生成一個(gè)測(cè)試類(lèi)的框架。

phpunit --skeleton Sample PHPUnit 2.3.0 by Sebastian Bergmann.Wrote test class skeleton for Sample to SampleTest.php.phpunit SampleTestPHPUnit 2.3.0 by Sebastian Bergmann.ITime: 0.007268There was 1 incomplete test case:1) testSampleMethod(SampleTest)OK, but incomplete test cases!!!Tests run: 1, incomplete test cases: 1.

當(dāng)你為現(xiàn)有代碼書(shū)寫(xiě)測(cè)試時(shí),你不得不重復(fù)很多相同的代碼片斷,如:

public function testSampleMethod( ) {}

PHPUnit能幫助你分析現(xiàn)有代碼,生成測(cè)試用例類(lèi)的框架。

--wait

每個(gè)測(cè)試結(jié)束時(shí),等待一次擊鍵。這很有用,特別是你在一個(gè)只有測(cè)試一直運(yùn)行在打開(kāi)的窗口中運(yùn)行測(cè)試時(shí)。

提示 當(dāng)被測(cè)試代碼中有PHP語(yǔ)法錯(cuò)誤時(shí),文本界面的測(cè)試會(huì)直接退出,不輸出任何錯(cuò)誤信息。標(biāo)準(zhǔn)的測(cè)試套件加載器會(huì)檢查測(cè)試套件的源文件的PHP語(yǔ)法錯(cuò)誤,但是,它不會(huì)檢查測(cè)試套件包含的源文件的語(yǔ)法錯(cuò)誤。PHPUnit的未來(lái)版本會(huì)用在砂箱中PHP解釋器類(lèi)解決這個(gè)問(wèn)題。

標(biāo)簽: PHP
主站蜘蛛池模板: 久久综合亚洲一区二区三区 | 亚洲成人福利 | 美女被拍拍拍拍拍拍拍拍 | 成人精品久久 | 韩国女主播青草在线观看 | 女人抠逼视频 | 亚洲欧美日本国产综合在线 | 一级毛片一片毛 | 91久久精品视频 | 精品欧美一区二区三区在线观看 | 特黄特黄aaaa级毛片免费看 | 国产aⅴ精品一区二区三区久久 | 欧美精品在线视频 | 思99re久久这里只有精品首页 | 国产免费影院 | 国产免费人视频在线观看免费 | 精品欧美成人高清视频在线观看 | 亚洲人成综合网站在线 | 免费一级特黄 欧美大片 | 韩国免费毛片在线看 | 久久久久久久综合色一本 | 国产一区亚洲二区 | 亚欧成人中文字幕一区 | 国产精品国三级国产aⅴ | 国产美女一区二区在线观看 | 欧美在线a级高清 | 思99re久久这里只有精品首页 | 欧美xxxx成人免费网站 | 精品免费久久 | 好爽~好硬~好紧~蜜芽 | 99久久免费看精品国产一区 | 国产一二区 | 欧美性色网 | 一本色道久久99一综合 | 久久精品a亚洲国产v高清不卡 | 国产免费一区二区三区 | 一个人看的免费高清视频日本 | 久久福利影视 | 亚洲国产系列久久精品99人人 | 成年人视频在线免费播放 | 日本道综合一本久久久88 |