
SimpleTest vs PHPunit我想知道是否有人在这两个方面都有经验,可以揭示出两者之间的显着差异(如果有)吗? 每个组件都有什么特定的强度,使其适合任何特定情况? 这个问题已经过时了,但是由于它仍然在增加流量,并且回答了我,尽管我在这里再次陈述了我的观点,所以我已经在其他一些(较新的)问题上做了。 我真的很困惑,SimpleTest仍然被认为是phpunit的替代品。也许我只是被误导了,但据我所知:
我还没有看到支持SimpleTest的任何论点。安装起来并不简单,因为可以通过pear获得PHPUnit:
和"第一次测试"看起来几乎一样。
从
或对于仅下载phar并运行的Windows:
或使用受支持的作曲家安装方式时
到您的composer.json。 对于您要测试的所有PHPUnit都有解决方案,您几乎可以在任何地方找到帮助(因此,freenode上的#phpunit irc频道,几乎每个php开发人员;)) 如果我说错了或忘记了一些,请指正我:) PHP测试工具概述 视频:http://conference.phpnw.org.uk/phpnw11/schedule/sebastian-bergmann/ 幻灯片:http://www.slideshare.net/sebastian_bergmann/the-php-testers-toolbox-osi-days-2011 它提到了像Atoum这样的东西,它称之为自我:"一个简单,现代且直观的PHP单元测试框架!" 全面披露 我最初是在2011年1月写这个答案的,当时我与任何PHP测试项目都不隶属。从那时起,我成为PHPUnit的贡献者。 我现在更喜欢PHPUnit,但是刚开始时我使用了SimpleTest,因为我并不总是可以访问命令行。 SimpleTest很不错,但是在我看来,PHPUnit真正拥有的唯一东西就是网络运行器。 我之所以喜欢PHPUnit,是因为它与其他PHP开发人员工具集成在一起,例如phing(SimpleTest也是如此),phpUnderControl和Xinc。从3.0版开始,它具有模拟支持,并且正在积极开发中,并且该文档非常出色。 真正为自己回答这个问题的唯一方法是同时尝试一下,然后看看哪种更适合您的风格。 编辑:Phing现在也与SimpleTest集成。
对于SimpleTest,只需下载它并从您的代码中指向它即可。 所以Simpletest为我赢了。 公认答案中提到的一半要点是不正确的: SimpleTest有
不足之处:
Baphled在SimpleTest vs PHPUnit3上有一篇不错的文章。 好吧,我制作了一个基于phpUnit Web的UI测试用例运行程序,并将其在sourceforge上可用。使用ajax并具有相当不错的界面,如果您想试一试,请在sourceforge上进行检查。项目名称为phpunitwebui,网站为http://phpunitwebui.sourceforge.net/ 我发现SimpleTest甚至比PHPUnit更容易设置。只需提取它,您就可以开始了。这样的好处是,如果您在多台机器上工作,因为您可以以与源代码相同的方式存储整个测试框架,从而知道您使用的是相同的框架代码。特别是如果您以任何方式对其进行修改。 因此,我想说的是SimpleTest的优势在于它重量轻且可移植。 SimpleTest还附带了非常简单的HTML GUI,如果需要,可以很容易地对其进行扩展。据我所知,PHPUnit不包含HTML GUI,但是有可供下载的GUI :,例如Cool。 如前所述,这主要是一个优先选择,因为两者都将运行您为此编写的测试并报告结果。
最简单的Web用户界面非常有用,但有时也很麻烦。在我当前的项目中,我将不得不投入更多的工作来使我的应用程序(API)与Web界面(正确设置apache,将文件复制到public_html根目录等)一起使用。只需从Eclipse工作区运行phpunit。因此,我选择PHPUnit。另外,使用PEAR也是一大优势,因为您无需手动跟踪更新。只需偶尔运行 这是从一个非常随意的PHP开发人员的角度来看的: 我花了两天的时间掌握了PHPUnit,大部分时间是我试图放弃的Eclipse调试。 我花了两个小时来设置Simpletest,包括在Eclipse下进行调试。 也许将来我会发现Simpletest的不足之处,但到目前为止,它可以满足我的需求:TestClasses,Mock对象,测试代码调试和Web界面,可以快速了解情况。 再次:从非常随意的PHP用户(甚至不是开发人员:-)的角度来看 这个问题很老,但是我想补充一下我的经验:PHPUnit现在似乎是标准的,但是如果您使用的是使用大量全局变量的旧系统,则可能一开始就陷入困境。似乎没有很好的方法来对PHPUnit中的全局变量进行测试,您似乎必须通过$ GLOBALS设置变量,如果您有无数文件在各处设置全局变量,那就太麻烦了。好的,有些人可能会说问题出在旧系统中,但这并不意味着我们无法在这种系统上进行测试。使用SimpleTest,这件事很简单。我想,如果PHPUnit允许我们在全局范围内包括文件,而不是在任何类/函数范围之内,那么它也不是太大的问题。 另一个有希望的解决方案是http://www.enhance-php.com,看起来不错:)
我有一段时间没有检查简单测试了,上次它有一个eclipse插件,这对我来说是一个主要因素,但是很长一段时间都没有更新。 当有成千上万的功能需要一次测试时,phpunit是一种方法,简单的测试由于基于Web而无法实现。 我仍在使用简单的Web进行小规模测试。 但是两者都很好 |