2010-05-06 25 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