我想知道是否有任何有这方面经验的人可以对这两者之间的显着差异有所了解吗?
每种特定的强度使其适合任何特定情况?
这个问题已经过时但是因为它仍然得到了流量和答案我虽然我再次表明我的观点,所以我已经在其他一些(更新的)问题上做了.
我真的很困惑,SimpleTest 仍然被认为是phpunit的替代品.也许我只是被误导了,但就我所见:
PHPUnit是标准; 大多数框架都使用它(比如Zend Framework(1和2),Cake,Agavi,甚至Symfony都在为Sympfony 2删除他们自己的Framework for phpunit).
PHPUnit集成在每个PHP IDE(Eclipse,Netbeans,Zend Stuide,PHPStorm)中并且运行良好.
Simpletest有一个针对PHP 5.1(又名旧版)的eclipse扩展,没有别的.
PHPUnit适用于每个持续集成服务器,因为它输出所有标准日志文件以用于代码覆盖和测试报告.
最简单的不是.虽然这不是一个大问题,但一旦你停止"只是测试"并开始开发软件,它会让你大吃一惊(是的,这句话是挑衅:)不要太认真对待它.
PHPUnit主动维护,稳定,适用于每个代码库,每个场景以及您想要编写测试的每种方式.
(主观)PHPUnit提供比Simpletest 更好的代码覆盖率报告
使用PHPUnit,您还可以在IDE中获取这些报告(Netbeans,Eclipse,...)
还有一些建议web interface to phpunit tests
.
我还没有看到任何有利于SimpleTest的论据.由于PHPUnit可通过pear获得,因此安装起来并不简单:
pear channel-discover pear.phpunit.de pear install phpunit/PHPUnit
并且"第一次测试"看起来几乎相同.
由于PHPUnit 3.7
它的安装更容易通过只使用它PHAR Archive
wget http://pear.phpunit.de/get/phpunit.phar chmod +x phpunit-3.7.6.phar
或者只是下载 phar并运行的Windows :
php phpunit-.phar
或者当使用支持的composer安装方式时
"require-dev": { "phpunit/phpunit": "3.7.*" }
到你的composer.json.
对于你想要测试的一切,PHPUnit将有一个解决方案,你几乎可以在任何地方找到帮助(SO,#fpunit irc channel on freenode,几乎每个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集成.
我无法理解如何下载和安装PHPUnit.
但是,我可以轻松地了解如何安装SimpleTest.
(据我所知,PHPUnit的说明说"通过PEAR安装它,我们不会给出任何其他方式的指令"),请参阅:
http://www.phpunit.de/manual/current/en/installation.html
对于SimpleTest,只需下载它并从代码中指向它.
所以Simpletest赢了.
Baphled有一篇关于SimpleTest和PHPUnit3的好文章.
接受的答案中提到的一半点是不正确的:
SimpleTest有
更简单的设置(提取到文件夹,包含和运行)
只需将文件夹检入版本控制(现在尝试使用phpunit :))
较少的依赖关系和大量扩展(webtester,formtester,auth)
一个很好的代码覆盖率记者,很容易扩展(点,函数名称,颜色)
代码覆盖率摘要(最终登陆PHPUnit 4.x)
一个体面的网络跑步者和一个ajax网络跑步者,有团体和单个文件执行
更好的差异工具(没有空格或换行问题)
一个适配器/包装器,用于通过phpUnit运行SimpleTests,反之亦然
兼容性PHP5.4 +
不足之处:
不是行业标准(PHPUnit)
没有积极维护
我发现SimpleTest比PHPUnit更容易设置.只需提取它就可以了.这样做的好处是,如果您在多台计算机上工作,因为您可以使用与源代码相同的方式存储整个测试框架,从而知道您使用的是相同的框架代码.特别是如果你以任何方式修改它.
因此,我认为SimpleTest的优势在于它重量轻且便于携带.
SimpleTest还附带了一个非常简单的HTML GUI,如果你愿意,它很容易扩展.据我所知,PHPUnit不包含HTML GUI,但有GUI可供下载,如Cool.
好吧,我创建了一个基于phpUnit web的UI测试用例,并在sourceforge上提供了它.使用ajax并且还有非常酷的界面,如果你想在sourceforge给它一个镜头检查它.项目名称是phpunitwebui,网站是http://phpunitwebui.sourceforge.net/