Chinaunix首页 | 论坛 | 博客
  • 博客访问: 683857
  • 博文数量: 132
  • 博客积分: 10060
  • 博客等级: 上将
  • 技术积分: 1732
  • 用 户 组: 普通用户
  • 注册时间: 2007-12-21 12:35
个人简介

迷惘的码农。

文章分类

全部博文(132)

文章存档

2013年(1)

2011年(2)

2010年(9)

2009年(41)

2008年(79)

我的朋友

分类:

2008-03-25 10:48:14

第 5 章 命令行测试启动器

PHPUnit命令行测试启动器可通过phpunit命令调用。下面的代码显示如何借助PHPUnit命令行测试启动器运行测试:

phpunit ArrayTest
PHPUnit 3.2.10 by Sebastian Bergmann.

..

Time: 0 seconds


OK (2 tests)

对于每个测试的运行,PHPUnit命令行工具输出一个字符指示进展:

.

当测试成功时输出。

F

当运行测试方法过程中一个断言失败时输出。

E

当运行测试方法过程中产生一个错误时输出。

S

当测试被跳过时输出(见)。

I

当测试被标记为不完整或未实现时输出(见)。

PHPUnit区分失败错误。失败是指违反PHPUnit断言,例如assertEquals()调用失败。错误是指意外的异常或PHP错误。有时这种区分非常有用,因为错误通常比失败容易修复。如果你得到一大串问题,最好先解决所有错误,然后再看还有没有失败。

我们看看下面代码中的命令行测试启动器的开关:

phpunit --help
PHPUnit 3.2.10 by Sebastian Bergmann.

Usage: phpunit [switches] UnitTest [UnitTest.php]

--log-graphviz Log test execution in GraphViz markup.
--log-json Log test execution in JSON format.
--log-tap Log test execution in TAP format to file.
--log-xml Log test execution in XML format to file.
--log-metrics Write metrics report in XML format.
--log-pmd Write violations report in PMD XML format.

--coverage-html Generate code coverage report in HTML format.
--coverage-xml Write code coverage information in XML format.

--test-db-dsn DSN for the test database.
--test-db-log-rev Revision information for database logging.
--test-db-prefix ... Prefix that should be stripped from filenames.
--test-db-log-info ... Additional information for database logging.

--testdox-html Write agile documentation in HTML format to file.
--testdox-text Write agile documentation in Text format to file.

--filter Filter which tests to run.
--group ... Only runs tests from the specified group(s).
--exclude-group ... Exclude tests from the specified group(s).

--loader TestSuiteLoader implementation to use.
--repeat Runs the test(s) repeatedly.

--tap Report test execution progress in TAP format.
--testdox Report test execution progress in TestDox format.

--no-syntax-check Disable syntax check of test source files.
--stop-on-failure Stop execution upon first error or failure.
--verbose Output more verbose information.
--wait Waits for a keystroke after each test.

--skeleton Generate skeleton UnitTest class for Unit in Unit.php.

--help Prints this usage information.
--version Prints the version and exits.

--configuration Read configuration from XML file.
-d key[=value] Sets a php.ini value.
phpunit UnitTest

运行类UnitTest提供的测试。该类应该在源文件UnitTest.php中声明。

UnitTest必须是继承自PHPUnit_Framework_TestCase的类或者提供public static suite()方法的类,该方法返回一个PHPUnit_Framework_Test对象,例如一个PHPUnit_Framework_TestSuite类的实例。

phpunit UnitTest UnitTest.php

运行类UnitTest提供的测试。着各类应该在指定的源文件中声明。

--log-graphviz

使用标记为运行的测试生成日志文件。该文件可用比如工具dot呈现。可见中更详细的资料。

请注意,该选项只有当PEAR软件包Image_GraphViz已被安装时才可用。

--log-json

产生格式的日志文件。更多信息见。

--log-tap

为运行的测试产生各式的日志文件。更多详细信息见。

--log-xml

为运行的测试产生XML格式的日志文件。更多详细信息见。

--log-metrics

为测试中的系统产生附带软件规格的XML格式的日志文件。更多详细信息见 。

请注意,该选项只在已安装tokenizer和Xdebug扩展时才可用。

--log-pmd

产生XML格式的日志文件,并且附带比如基于软件规格的违例。更多详细信息见。

请注意,该选项只在已安装tokenizer和Xdebug扩展时才可用。

--coverage-xml

为运行的测试产生附带代码覆盖率信息的XML格式日志文件。更多详细信息见。

请注意,该选项只在已安装tokenizer和Xdebug扩展时才可用。

--coverage-html

产生HTML格式的代码覆盖率报告。更多详细信息见。

请注意,该选项只在已安装tokenizer和Xdebug扩展时才可用。

--charset

指定将用于--report的字符集。

--test-db-*

将测试结果和代码覆盖率数据写入数据库。更多详细信息见。

请注意,该选项只在已安装PDO扩展时才可用。

--testdox-html--testdox-text

位运行的测试产生HTML或纯文本格式的agile文档。更多详细信息见。

--filter

只运行名称匹配给定模式的测试。该模式可为单个测试的名称或匹配多个测试名的。

--group

只运行来自指定组(一个或多个)的测试。可用@group注解将测试标记为属于某个组。

--exclude-group

排除来自指定组(一个或多个)的测试。可用@group注解将测试标记为属于某个组。

--loader

指定要用的PHPUnit_Runner_TestSuiteLoader实现。

标准的测试套件加载器将在当前工作目录和PHP的include_path配置指令指定的每个目录中查找源文件。依照PEAR的命名约定,例如名为Project_Package_Class的类被映射为源文件Project/Package/Class.php

--repeat

重复运行测试指定的次数。

--stop-on-failure

首次错误或失败即停止运行。

--no-syntax-check

禁用对测试源文件的语法检查。

--tap

使用报告测试进程。更多信息见。

--testdox

将测试进程作为agile文档进行报告。更多信息见。

--verbose

输出更多详细信息,例如未完成或被跳过的测试的名字。

--wait

每个测试之后等待按键。如果你在一个只在活动时(active)才能保持打开状态的窗口中运行测试,这会很有用。

--skeleton

为类Unit(在Unit.php中)产生一个测试用例类UnitTest(在UnitTest.php中)。更多信息见。

--configuration

从XML文件中读取配置。更多信息见。

-d

设置给定的PHP配置选项的值。

注意

当被测试代码含有PHP语法错误时,TextUI测试启动器可能不打印错误信息就退出。标准的测试套件加载器会检查测试套件源文件的PHP语法错误,但是不包括被测试套件源文件包含的源文件。

阅读(1776) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~