SimpleTest vs PHPunitPHP 测试工具概述

2022-08-30 07:06:20

我想知道是否有任何在这两方面都有经验的人可以阐明两者之间的显着差异(如果有的话)?

每种方法的任何特定强度使其适合任何特定情况?


答案 1

这个问题已经过时了,但由于它仍然在获得流量和答案,尽管我在这里再次陈述我的观点,即使我已经在其他一些(较新的)问题上做到了这一点。

我真的很困惑SimpleTest仍然被认为是phpunit的替代品。也许我只是被误导了,但据我所知:

  • PHPUnit是标准;大多数框架都使用它(如Zend Framework(1&2),Cake,Agavi,甚至Symfony也在Symfony 2中为phpunit放弃了自己的框架)。
  • PHPUnit集成在每个PHP IDE(Eclipse,Netbeans,Zend Stuide,PHPStorm)中,并且运行良好。
  • Simpletest有一个PHP 5.1(又名旧版)的eclipse扩展,没有别的。
  • PHPUnit 适用于每个持续集成服务器,因为它输出代码覆盖率和测试报告的所有标准日志文件。
  • Simpletest没有。虽然这不是一个大问题,但一旦你停止“只是测试”并开始开发软件,它就会咬你一大笔时间(是的,这种说法是挑衅性的:)不要太当回事)。
  • PHPUnit是积极维护的,稳定的,适用于每个代码库,每个场景和每种想要编写测试的方式。
  • (主观)PHPUnit 提供了比 Simpletest 更好的代码覆盖率报告
  • 使用PHPUnit,您还可以在IDE中获取这些报告(Netbeans,Eclipse,...)
  • 此外,对于 phpunit 测试的 Web 界面,也有一些建议。

我还没有看到任何支持SimpleTest的论点。它的安装甚至不是更简单,因为PHPUnit可以通过pear获得:

pear channel-discover pear.phpunit.de
pear install phpunit/PHPUnit

“第一次测试”看起来几乎相同。

因为通过使用PHAR存档来安装它甚至更容易PHPUnit 3.7

wget http://pear.phpunit.de/get/phpunit.phar
chmod +x phpunit-3.7.6.phar

或者对于只是下载phar并运行的Windows:

php phpunit-.phar

或者当使用支持的作曲家安装方式时,例如

"require-dev": {
    "phpunit/phpunit": "3.7.*"
}

到你的 composer.json.


对于你想要测试的一切,PHPUnit将有一个解决方案,你将能够在任何地方找到帮助(SO,#phpunit freenode上的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的贡献者。


答案 2

我现在更喜欢PHPUnit,但是当我开始时,我使用SimpleTest,因为我并不总是可以访问命令行。SimpleTest很好,但在我看来,它唯一真正超越PHPUnit的是Web运行器。

我喜欢PHPUnit的原因是它与其他PHP开发人员工具集成,如phing(就像SimpleTest一样),phpUnderControlXinc。从3.0版本开始,它具有模拟支持,正在积极开发,并且文档非常出色。

实际上,自己回答这个问题的唯一方法是尝试一段时间,看看哪种更适合你的风格。

编辑:Phing现在也与SimpleTest集成。


推荐