2009-08-06 31 views

回答

8

在我看來,這裏有,我想起了幾件事情:

  • PHPUnit的是與其他工具更加集成,比如,例如,
    • Selenium(PHPUnit的可以用它來打開實現真正的瀏覽器來測試您的網站)
    • phpUnderControl持續集成
  • PHPUnit的作品以及Xdebug,生成代碼覆蓋率報告
  • PHPUnit更廣泛地使用;這可能意味着更多的支持

但是要注意,我不配合symfony項目,也不爲石灰工作...
不過,我從來沒有任何人heards它說話,除了那些用symfony工作 - 這不一件好事,有一天你必須與另一個框架的工作(是的,出現這種情況^^)


一兩件事,這不是PHPUnit中:

  • 「假」瀏覽器(能在不使用Seleni的情況下對應用程序執行HTTP請求嗯打開一個真正的瀏覽器)

但一些框架(Zend Framework的那樣,與它的Zend_Test分量) PHPUnit的整合(或使用),同時允許數據到MVC的注入和響應的獲取,而不必發出任何HTTP請求。
我不知道如果symfony的允許,但是這是一個很好的事情ZF/PHPUnit的^^


(是的,不是具體的symfony的回答;但我說必須仍然有效的東西與該框架)

6

石灰是一個更簡單的測試框架,它可以是一個好或壞的事情取決於你想如何使用它。

symfony庫本身使用自己的測試框架Lime來測試它的代碼庫。從symfony的書:

它是基於測試::更多的Perl 庫,並且是符合TAP,這 意味着測試結果 顯示爲測試 任何協議規定,設計爲更好地提供測試輸出的可讀性 。

我不能擔保。因爲symfony文檔要求石灰框架比其他PHP測試框架「更輕便」的說法,但我真的很喜歡這樣做,它內建在你的symfony項目,並與運作良好symfony命令行工具沒有任何額外的配置。有一件特別酷的事情是,symfony中的石灰測試設置爲在您的「測試」環境中運行,它具有自己的數據庫,symfony緩存(在每個測試會話期間被清除)以及環境變量。當你想進行功能測試(在你的模塊/操作中檢查服務器響應和你的html輸出,而不是基本的單元測試),這就派上用場了。我也喜歡石灰是非常容易接受和理解,因爲它非常簡單。您還可以將測試放入YAML配置文件,而不是手工編寫測試。

Pascal完全正確,PHPUnit使用得非常廣泛,您可以在非symfony項目中使用它。甚至還有一個插件,PHPUnit symfony plugin。我最好的建議是使用石灰,如果你只是想在開發你的symfony應用程序的時候寫入簡單的測試。但是,如果您有時間並希望在symfony世界之外使用這些測試技能,或者將已有的PHPUnit測試引入到symfony代碼中,那麼花點時間檢查該插件並使其旋轉。