有兩種不同的行為驅動開發 (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