这个问题已经过时了,但由于它仍然有流量和答案,尽管我在这里再次陈述我的观点,但我已经在其他一些(较新的)问题上做到了这一点。
I'm 真的真的SimpleTest 感到困惑still被认为是 phpunit 的替代品。也许我只是被误导了,但据我所知:
- PHPUnit 是标准;大多数框架都使用它(例如 Zend Framework (1&2)、Cake、Agavi,甚至 Symfony 也在 Symfony 2 for phpunit 中放弃了自己的框架)。
- PHPUnit 集成在每个 PHP IDE(Eclipse、Netbeans、Zend Stuide、PHPStorm)中并且运行良好。
- Simpletest 有一个针对 PHP 5.1(又名旧版本)的 eclipse 扩展,仅此而已。
- PHPUnit 可以与每个持续集成服务器很好地配合,因为它输出代码覆盖率和测试报告的所有标准日志文件。
- Simpletest 没有。虽然这在一开始并不是一个大问题,但一旦你停止“只是测试”并开始开发软件,它就会给你带来很大的麻烦(是的,这个说法是挑衅性的:)不要太认真)。
- PHPUnit 得到积极维护、稳定,并且适用于每个代码库、每个场景以及您想要编写测试的每种方式。
- (主观)PHPUnit 提供了更好的 http://www.phpunit.de/manual/3.6/en/code-coverage-analysis.html代码覆盖率报告比简单测试 http://www.simpletest.org/en/reporter_documentation.html
- 使用 PHPUnit,您还可以在 IDE 中获取这些报告(Netbeans http://netbeans.org/kb/docs/php/phpunit.htm%60、日食、...)
- 另外还有一些建议web interface to phpunit tests https://stackoverflow.com/questions/2424457/web-interface-to-phpunit-tests.
我还没有看到任何支持 SimpleTest 的论据。安装起来并不简单,因为 PHPUnit 可以通过 pear 获得:
pear channel-discover pear.phpunit.de
pear install phpunit/PHPUnit
和“第一次测试”看起来几乎一样。
As of PHPUnit 3.7
it's 更容易安装只需使用PHAR Archive http://www.phpunit.de/manual/current/en/installation.html#installation.phar
wget http://pear.phpunit.de/get/phpunit.phar
chmod +x phpunit-3.7.6.phar
或仅适用于Windows下载 http://pear.phpunit.de/get/phpunit.pharPhar 和运行:
php phpunit-.phar
或者当使用支持的作曲家安装 http://www.phpunit.de/manual/current/en/installation.html#installation.composer像这样的方式
"require-dev": {
"phpunit/phpunit": "3.7.*"
}
到你的composer.json。
对于您想要测试的所有内容,PHPUnit 都会有一个解决方案,您几乎可以在任何地方找到帮助(所以,freenode 上的 #phpunit irc 频道,几乎每个 php 开发人员都可以找到;))
如果我说错或者忘记了什么,请纠正我:)
PHP 测试工具概述
Video: http://conference.phpnw.org.uk/phpnw11/schedule/sebastian-bergmann/ http://conference.phpnw.org.uk/phpnw11/schedule/sebastian-bergmann/
Slides: http://www.slideshare.net/sebastian_bergmann/the-php-testers-toolbox-osi-days-2011 http://www.slideshare.net/sebastian_bergmann/the-php-testers-toolbox-osi-days-2011
它提到了类似的东西Atoum https://github.com/mageekguy/atoum它自称:“一个简单、现代、直观的 PHP 单元测试框架!”
全面披露
我最初是在 2011 年 1 月写下这个答案的,当时我与任何 PHP 测试项目没有任何关系。从那时起我就成为了 PHPUnit 的贡献者。