亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

PHPUnit袖珍指南之命令行測試工具

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

PHPUnit命令行測試工具是通過phpunit命令調用的。如下代碼顯示如何通過PHPUnit命令行測試工具運行測試。

phpunit ArrayTestPHPUnit 2.3.0 by Sebastian Bergmann.

Time: 0.067288

OK (2 tests)

對每個測試,PHPUnit命令行測試工具打印一個字符表示進程:

·測試成功打印“.”。

·運行測試方法是發生了斷言失敗打印“F”。

·運行測試方法是發生了錯誤打印“E”。

·測試沒有完成或測試沒有實現打印“I”(見本書后“未完成的測試”一章)。

PHPUnit可以區分失敗和錯誤。一個失敗是PHPUnit的斷言違例,錯誤是一個意料外的異常或一個PHP錯誤。有時候這種差別是有用的,因為錯誤相比失敗更容易修正。如果你有一大串問題列表,最好先解決所有錯誤,然后看看有沒有失敗遺留下來。

讓我們看看如下一些代碼命令行測試工具的選項:

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

運行類UnitTest提供的測試,該類應該定義在源文件UnitTest.php中。

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

phpunit UnitTest UnitTest.php

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

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

控制運行測試的代碼覆蓋信息的分析和集合(參見本書后代碼覆蓋分析一節)

--testdox-html and --testdox-text

以HTML或普通文本格式生成運行測試的敏捷文檔(參見本書后的“測試的其他用途”一章)

--log-xml

生成運行測試的XML格式的日志文件。

下一個例子顯示為ArrayTest中的測試生成的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的測試類兩個測試生成的,一個是testFailure,一個是testError。這顯示了失敗和錯誤是如何分別表示的。

<?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

指定將要使用的測試套件加載器。

標準測試套件加載器會在當前工作目錄和PHP的include_path configuration指令定義的路徑中尋找源文件。按照PEAR的命名規則,形如Project_Package_Class的類名會映射到的源文件為Project/Package/Class.php。

--skeleton

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

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

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.

當你為現有代碼書寫測試時,你不得不重復很多相同的代碼片斷,如:

public function testSampleMethod( ) {}

PHPUnit能幫助你分析現有代碼,生成測試用例類的框架。

--wait

每個測試結束時,等待一次擊鍵。這很有用,特別是你在一個只有測試一直運行在打開的窗口中運行測試時。

提示 當被測試代碼中有PHP語法錯誤時,文本界面的測試會直接退出,不輸出任何錯誤信息。標準的測試套件加載器會檢查測試套件的源文件的PHP語法錯誤,但是,它不會檢查測試套件包含的源文件的語法錯誤。PHPUnit的未來版本會用在砂箱中PHP解釋器類解決這個問題。

標簽: PHP
主站蜘蛛池模板: 国产高清大尺度一区二区不卡 | 老司机日日摸夜夜摸精品影院 | 一级特黄高清完整大片 | 亚洲深夜视频 | 91精品国产福利尤物免费 | 精品国产一区二区二三区在线观看 | 国产一级特黄aa大片在线 | 久久免费99精品国产自在现线 | 日本r级在线中文在线播放 日本tv欧美tv天堂 | a级毛片基地| 黄色毛片大全 | 欧美a级在线观看 | 一区二区在线欧美日韩中文 | 青青青国产在线手机免费观看 | 在线播放一区二区精品产 | 黄色一级毛片看一级毛片 | 999国产一区二区三区四区 | 一区二区色 | 欧美三级短视频 | 免费人成观看在线网 | 国产综合色在线视频区 | 久久国产在线观看 | 一级大毛片 | 亚洲精品久 | japanese国产在线中文 | 日本高清色视频在线观看免费 | 国产色图片 | 性刺激视频在线观看免费 | 日产一一到六区麻豆 | 久久精彩 | 精品国产免费观看一区高清 | 日本高清aⅴ毛片免费 | 欧美亚洲偷图色综合91 | 婷婷国产在线 | 国产成+人+综合+亚洲欧美丁香花 | 国产欧美日本亚洲精品一4区 | 中文字幕有码热在线视频 | 高h文bl | 午夜资源网 | 亚洲性网 | 91香蕉视频在线播放 |