有两种不同的行为驱动开发 (BDD): SpecBDD 和 StoryBDD。 SpecBDD 专注于代码的技术行为,而 StoryBDD 专注于业务逻辑或功能的行为和互动。这两种 BDD 都有对应的 PHP 框架。
采用 StoryBDD 时, 你编写可读的故事来描述应用程序的行为。接着这些故事可以作为应用程序的实际测试案例执行。[Behat ](http://behat.org/)是使用在 PHP 应用程序中的 StoryBDD框架,它受到 Ruby 的 [Cucumber ](http://cukes.info/)项目的启发并且实现了 Gherkin DSL 來描述功能的行为。
采用 SpecBDD 时, 你编写规格来描述实际的代码应该有什么行为。你应该描述函数或者方法应该有什么行为,而不是测试函数或者方法。PHP 提供了 [PHPSpec ](http://www.phpspec.net/)框架来达到这个目的,这个框架受到了 Ruby 的 [RSpec project](http://rspec.info/) 项目的启发。
### BDD 链接
* [Behat](http://behat.org/), PHP 的 StoryBDD 框架, 受到了 Ruby’s [Cucumber ](http://cukes.info/)项目的启发。
* [PHPSpec](http://www.phpspec.net/), PHP 的 SpecBDD 框架, 受到了 Ruby’s [RSpec ](http://rspec.info/)项目的启发。
* [Codeception ](http://codeception.com/)是一个使用 BDD 准则的全栈测试框架。
- 欢迎
- 入门指南
- 使用当前稳定版本
- 内置的WEB服务器
- Mac安装
- Windows安装
- 代码风格指南
- 语言亮点
- 编程范式
- 命名空间
- PHP标准库
- 命令行接口
- Xdebug
- 依赖管理
- Composer 与 Packagist
- PEAR
- 开发实践
- 基础知识
- 日期和时间
- 设计模式
- 使用UTF8编码
- 依赖注入
- 基本概念
- 复杂的问题
- 容器
- 延伸阅读
- 数据库
- MYSQL 扩展
- PDO 扩展
- 数据库交互
- 数据库抽象层
- 使用模板
- 好处
- 原生PHP模板
- 编译模板
- 延伸阅读
- 错误与异常
- 错误
- 异常
- 安全
- Web应用程序安全
- 密码哈希
- 数据过滤
- 配置文件
- 注册全局变量
- 错误报告
- 测试
- 测试驱动开发
- 行为驱动开发
- 其他测试工具
- 服务器与部署
- Platform as a Service (PaaS)
- 虚拟或专用服务器
- 共享服务器
- 构建及部署应用
- 虚拟化
- Vagrant
- Docker
- 缓存
- Opcode缓存
- 对象缓存
- 文档撰写
- 资源
- 社区
- Credits