2013-06-19 62 views
8

我目前正在研究將哪個測試框架用於php。我有兩個選擇是PHPUnit和PHPSpec。我知道PHPUnit是TDD(測試驅動開發),PHPSpec是BDD(行爲驅動開發)。但是由於缺乏任何真實的PHPSpec教程和PHPSpec網站上的有限文檔,我無法得出完整的結論。我對每個人的問題是兩個框架之間有什麼額外的相似點和不同點?是的BDD和TDD是大的,但還有其他嗎?他們看起來很相似,但沒有人詳細談論他們的相似之處。謝謝。PHPUnit和PHPSpec之間的異同

+0

例如,PHPSpec是否支持像PHPUnit一樣的映射使用@dataProvider? – applecrusher

回答

8

PHPSpec是一種SpecBDD工具,更專注於引導您在代碼設計中而不是測試框架中。 這取決於您對工具的期望,如果您想要製作合適的TDD/SpecBDD,則更易於使用PHPSpec,因爲它是爲了幫助開發人員編寫可讀且設計良好的代碼而創建的。請記住,TDD/SpecBDD不是測試所有邊界情況或進行全應用集成測試。這是關於爲小型代碼單元編寫規範。

幾天前我給了一個談話,在這裏你可以找到幻燈片:http://www.slideshare.net/cakper/2013-0613-spug-spec-bdd-in-php我希望這將是有用的做出決定。

+2

在幻燈片(幻燈片46)中,您有: $ this-> liveAndLet() - > shouldReturn($ die); 這是否意味着phpspec使用反射將方法調用重載到您測試的對象實例的代理實例上? 這是否也意味着我無法命名我的類中的任何方法與phpspec庫方法相同? –