PHPUnit 4.0 手册:Sebastian Bergmann著,2014版

5星 · 超过95%的资源 需积分: 0 1 下载量 186 浏览量 更新于2024-07-23 1 收藏 1.17MB PDF 举报
"phpunit参考手册manual2014最新" 这篇文档是关于PHPUnit的参考手册,作者是Sebastian Bergmann,适用于 PHPUnit 4.0 版本,发布于2014年4月28日。PHPUnit 是一个流行的、开源的PHP单元测试框架,它允许开发者对PHP代码进行自动化测试,确保代码质量并促进持续集成。 ### 1. 安装PHPUnit - **PHP档案包(PHAR)**:你可以通过下载PHAR(PHP Archive)文件来安装PHPUnit,这是一种方便的打包方式,包含了所有必要的类和文件。 - **Composer**:推荐使用Composer,PHP的依赖管理工具,通过在项目中添加PHPUnit作为依赖,可以轻松管理和更新PHPUnit。 - **PEAR**:另一种安装方式是通过PEAR(PHP扩展与应用仓库),不过这种方式在现代项目中已经较少使用。 - **可选的组件包**:除了基本的安装,还可以选择安装额外的组件,如代码覆盖率报告、模拟对象等。 - **升级**:手册中会提供如何从旧版本升级到最新版本的指导。 ### 2. 编写PHPUnit测试 - **测试的依赖关系**:测试可能有相互依赖,手册会解释如何处理这些依赖以确保测试的正确顺序。 - **数据供给器**:用于为测试提供多组输入数据,提高测试的覆盖率。 - **对异常进行测试**:可以检查代码是否按预期抛出了异常,并验证异常类型和消息。 - **对PHP错误进行测试**:测试代码是否会产生错误,比如E_NOTICE或E_WARNING。 - **对输出进行测试**:检查程序的输出是否符合预期,包括标准输出和标准错误。 - **断言**:断言是测试的核心,手册详细列举了各种断言方法,例如: - `assertArrayHasKey()`:验证数组是否包含特定的键。 - `assertClassHasAttribute()`:检查类是否具有指定的非静态属性。 - `assertContainsOnlyInstancesOf()`:确保数组只包含特定类的实例。 - `assertCount()`:验证数组或集合的元素数量。 - `assertEmpty()`:检查变量是否为空。 - `assertEquals()`:比较两个值是否相等,支持多种类型。 - `assertFalse()`:验证表达式是否为假。 - `assertGreaterThan()` 和 `assertGreaterThanOrEqual()`:比较数值是否大于或大于等于预期值。 - `assertInstanceOf()`:确认对象属于哪个类。 - `assertInternalType()`:检查变量的内部类型。 - `assertJsonFileEqualsJsonFile()` 和 `assertJsonStringEqualsJsonFile()`:比较两个JSON文件或字符串是否相同。 - `assertJsonStringEqualsJsonString()`:直接比较两个JSON字符串。 - `assertLessThan()` 和 `assertLessThanOrEqual()`:比较数值是否小于或小于等于预期值。 - `assertNull()`:验证变量是否为null。 - `assertObjectHasAttribute()`:检查对象是否具有指定的静态属性。 - `assertRegExp()`:匹配字符串是否符合正则表达式。 - `assertStringMatchesFormat()` 和 `assertStringNotMatchesFormat()`:测试字符串是否符合或不符合特定的格式。 手册中的内容远不止这些,它还涵盖了更多的高级话题,如测试用例、测试套件、配置文件、代码覆盖分析、模拟对象、数据驱动测试、持续集成等。对于任何使用或想要学习PHPUnit的人来说,这都是一份宝贵的参考资料。