PHPUnit 4.0 手册:Sebastian Bergmann著,2014版
5星 · 超过95%的资源 需积分: 0 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的人来说,这都是一份宝贵的参考资料。
2023-03-29 上传
2023-06-08 上传
2023-06-03 上传
2023-09-04 上传
2023-06-03 上传
2023-06-03 上传
2024-01-31 上传
2024-07-02 上传
2023-06-03 上传
helion
- 粉丝: 3
- 资源: 15
最新资源
- 最优条件下三次B样条小波边缘检测算子研究
- 深入解析:wav文件格式结构
- JIRA系统配置指南:代理与SSL设置
- 入门必备:电阻电容识别全解析
- U盘制作启动盘:详细教程解决无光驱装系统难题
- Eclipse快捷键大全:提升开发效率的必备秘籍
- C++ Primer Plus中文版:深入学习C++编程必备
- Eclipse常用快捷键汇总与操作指南
- JavaScript作用域解析与面向对象基础
- 软通动力Java笔试题解析
- 自定义标签配置与使用指南
- Android Intent深度解析:组件通信与广播机制
- 增强MyEclipse代码提示功能设置教程
- x86下VMware环境中Openwrt编译与LuCI集成指南
- S3C2440A嵌入式终端电源管理系统设计探讨
- Intel DTCP-IP技术在数字家庭中的内容保护