国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

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

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

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

PHPUnit命令行測(cè)試工具是通過phpunit命令調(diào)用的。如下代碼顯示如何通過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è)試沒有完成或測(cè)試沒有實(shí)現(xiàn)打印“I”(見本書后“未完成的測(cè)試”一章)。

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

讓我們看看如下一些代碼命令行測(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)行類UnitTest提供的測(cè)試,該類應(yīng)該定義在源文件UnitTest.php中。

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

phpunit UnitTest UnitTest.php

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

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

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

--testdox-html and --testdox-text

以HTML或普通文本格式生成運(yùn)行測(cè)試的敏捷文檔(參見本書后的“測(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è)試類兩個(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的類名會(huì)映射到的源文件為Project/Package/Class.php。

--skeleton

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

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

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)有代碼書寫測(cè)試時(shí),你不得不重復(fù)很多相同的代碼片斷,如:

public function testSampleMethod( ) {}

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

--wait

每個(gè)測(cè)試結(jié)束時(shí),等待一次擊鍵。這很有用,特別是你在一個(gè)只有測(cè)試一直運(yùn)行在打開的窗口中運(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的未來版本會(huì)用在砂箱中PHP解釋器類解決這個(gè)問題。

標(biāo)簽: PHP
主站蜘蛛池模板: 大埔县| 安溪县| 仲巴县| 华容县| 延边| 申扎县| 永平县| 潮州市| 仁怀市| 拜泉县| 阿勒泰市| 拜泉县| 香港| 天台县| 云霄县| 太仆寺旗| 呼伦贝尔市| 临邑县| 青海省| 美姑县| 婺源县| 武强县| 肇州县| 瑞丽市| 南木林县| 蒙山县| 襄樊市| 英山县| 伊川县| 青岛市| 青冈县| 高邑县| 汉源县| 昆明市| 福鼎市| 中宁县| 江都市| 宾川县| 长治市| 崇信县| 灵石县|