2010-05-06 21 views

回答

7

phpunit和selenium不會測試相同的東西phpunit測試代碼單元selenium是專爲測試幾個模塊的集成/功能測試而設計的。

我認爲你需要兩種類型的測試。單元測試phpunit和接口測試selenium。 phpunit手冊甚至解釋瞭如何整合這兩者。

http://www.phpunit.de/manual/3.6/en/selenium.html

也是本文介紹了兩者的目的。 http://software-testing-zone.blogspot.com/2007/01/unit-testing-versus-functional-tests.html

我知道使用硒的願望很簡單,你可以點擊並寫一個測試,但它確實是一個需要兩個。你可能想拿起的「專家PHP 5個工具」

http://www.amazon.com/Expert-PHP-Tools-Dirk-Merkel/dp/1847198384/ref=sr_1_1?ie=UTF8&s=books&qid=1273111115&sr=8-1

它涵蓋了不同類型的測試和使用它們很好的副本。

+0

所以phpunit不做功能測試?石灰正在做這兩件事。你會說使用硒進行功能測試比使用石灰和/或phpunit更好嗎?因爲顯然你不必編寫代碼來測試,你只需要測試哪一個似乎可以節省很多時間。 – 2010-05-06 01:46:33

+0

您也可以在phpunit中進行功能測試。這將工作相同和功能測試石灰......但如果我recal沒有內置的Web客戶端,所以你將不得不使用類似sfTestBrowser/sfWebBrowserPlugin或Zend_Http_Client。然而,硒不會爲你建立單元測試,我不認爲(從來沒有使用它) – prodigitalson 2010-05-06 01:55:11

+0

不完全沒有建立單元測試,功能測試不是單元測試的替代品,也不是單元測試替代功能測試 - 是我的全部觀點。 – 2010-05-06 02:13:29

0

那麼在sf + lime的情況下,直接在框架中有一些很好的整合。石灰很簡單,測試幾乎沒有時間寫。就我個人而言,我更喜歡phpunit,但是當我使用symfony時,我只是堅持使用石灰,因爲它的阻力最小,並且能夠加速運轉。有/是一個用於sf的php單元插件,但是我從未使用它 - 我想知道爲什麼要這麼做。現在對於其他非SFF項目,我需要時使用phpunit,因爲它不會比連接石灰更困難。

+0

您是使用石灰的功能測試還是硒測試?爲什麼要在硒「點擊運行」時使用石灰的功能測試,並節省大量時間? – 2010-05-06 01:55:57

+0

在symfony項目中我使用石灰進行所有功能/單元測試。我從來沒有使用硒,但我總是得到它基於GUI的工具的印象,至少在初始創建測試時是如此。我寧願寫自己的代碼。這比點擊一系列事件並記錄它們然後將它們輸出到一種語言要快。但也許我錯了... ..?也從我收集它不適用於單元測試(即測試一個類的整個公共接口)...就像我說我從來沒有使用過硒。 – prodigitalson 2010-05-06 02:07:09

+0

有關硒的另一件好事是它可以與JavaScript一起使用。我想用phpunit/lime是不可能的。所以對於Ajax應用程序來說,最好使用硒進行功能測試,並使用lime/phpunit進行單元測試。我猜? – 2010-05-06 14:02:38