phphooligans / tdd-workshop
此包已被废弃且不再维护。未建议替代包。
🏫 与 PhpHooligans 单元测试研讨会一起使用的包 🎓
v0.1.1
2016-10-31 11:47 UTC
Requires
This package is auto-updated.
Last update: 2024-06-08 21:49:14 UTC
README
介绍
本研讨会是关于《隔离自动化检查》(也称为单元测试)的第一门入门课程。本课程旨在解释如何使用 PhpUnit 在 PHP 代码库中创建和运行自动化检查。
在简短的理论介绍之后,参与者将获得创建单元测试并能在本地或远程环境(如构建/CI 服务器)上运行这些测试的知识和能力。
概述
研讨会结构如下
准备
- 确保已安装并正确配置 PHP + Xdebug
- 打开PhpUnit 手册
理论
自动化检查是什么以及它们是如何工作的简要介绍
- 什么是自动化检查?
- 自动化检查不是什么?(即探索性测试)
- 自动化检查是如何工作的?
- 各种好处
- 关于 xUnit 的一词
- 测试旧代码与检查新代码
实践
- 安装 PHPUnit
- 全局安装
- 按项目安装
- 使用不同版本(使用 phpunit.phar)
- 选择一个项目用于测试(或使用
PHPHOOLIGANS/workshop-unit-testing
中的 WordWrapper 示例) - 基本配置
- 命令行选项
--configuration
- 本地配置文件(phpunit.xml)--
<testsuites>
- 项目配置文件(phpunit.xml.dist)
- 命令行选项
- 测试在哪里?(目录结构,命名空间和自动加载)
- 创建一个空的自动化检查
- 选择(或创建)要测试的类
- 创建测试类
- 创建自动化检查
- 运行自动化检查
- 创建实际的自动化检查
- 使用断言来验证假设
后续中级研讨会
一旦掌握基础知识,开发者可能会想要学习 PhpUnit 提供的更多功能。有一个针对中级知识的工作坊。
- 配置 IDE 或文本编辑器。支持的选项有:a. PhpStorm b. Atom c. Vim d. Sublime e. 其他编辑器(使用外部工具)
- 使用数据提供程序向测试提供数据
- 使用测试替身
- 设置测试依赖项
- 更多配置
- 严格性
forceCoversAnnotation="true"
<logging>
- TestDox
- 覆盖率文本
- 覆盖率 Clover XML
<filter>
- 严格性
- 代码覆盖率
- 添加注解
@coversDefaultClass
和@covers
- 添加注解
后续高级研讨会
除了中级工作坊提供的内容之外,还有更多高级或特定主题的工作坊。
- 使用 Selenium 和 php-webdriver 进行验收测试
- 使用 QuickCheck 生成测试数据
- 使用 Humbug 进行测试变异
- 使用 php-mock 对内置或遗留功能进行模拟
- 与其他模拟库(如 Mockery 或 Phony)一起工作
- 使用 PHP 的原生 PHPT 编写测试
- 使用 phpunit-clever-and-smart 加速部署
/EOF/