当前位置: 首页 > 面试题库 >

SimpleTest与PHPunit

顾兴昌
2023-03-14
问题内容

我想知道是否有人在这两个方面都有经验,可以揭示出两者之间的 显着 差异(如果有)吗?

每个组件都有什么特定的强度,使其适合任何特定情况?


问题答案:

这个问题已经过时了,但是它仍然在增加访问量,并且回答了我,尽管我在这里再次陈述了我的观点,所以我已经在其他一些(较新的)问题上做了。

真的很 困惑,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可输出所有标准日志文件以进行代码覆盖和测试报告,因此它可与每台持续集成服务器正常工作。
  • 简单测试没有。尽管这不是一个大问题,但是一旦您停止“仅仅测试”并开始开发软件,它就会占用您很多时间(是的,这很具有争议性:)不要太在意它。
  • PHPUnit被积极维护,稳定,并且非常适合每种代码库,每种方案以及您要编写测试的每种方式。
  • (主观)PHPUnit提供的代码覆盖率报告比Simpletest好得多
  • 使用PHPUnit,您还可以在IDE中获取这些报告(Netbeans,Eclipse等)。
  • 也有一些建议 web interface to phpunit tests

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

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

或使用受支持的作曲家安装方式时

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

到您的composer.json。

对于您要测试的所有PHPUnit,都有解决方案,您几乎可以在任何地方找到帮助(因此,freenode上的#phpunit
irc频道,几乎每个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 Testing项目都不隶属。从那时起,我成为PHPUnit的贡献者。



 类似资料:
  • SimpleTest 是一个为PHP程序提供的单元测试的框架,包含一个内嵌的web浏览器用来测试PHP的Web网站。 示例代码  <?php require_once('simpletest/unit_tester.php'); require_once('simpletest/reporter.php'); require_once('../classes/log.php'); class Te

  • 本文向大家介绍Drupal 6 SimpleTest入门,包括了Drupal 6 SimpleTest入门的使用技巧和注意事项,需要的朋友参考一下 Drupal SimpleTest是一个模块,可让您对自己的模块进行单元测试或对第三方模块制作的任何补丁进行单元测试。该模块将集成到Drupal 7中,但是对于Drupal 6,您必须做几次尝试才能开始测试。本文是对Drupal SimpleTest的

  • 在C语言中,假设每个算法被赋予完全相同的一组进程,那么先到先得、最短作业优先和循环之间的周转时间是否相等?还是调度算法不同?

  • 问题内容: 为了为 HTML5 Doctype 定义字符集,我应该使用哪种表示法? 短: 长: 问题答案: 在HTML5中,它们是等效的。使用较短的一个,更容易记住和键入。浏览器支持很好,因为它是为向后兼容而设计的。

  • 连接的多个输入都相当于Yes的时候才会输出Yes。 用法 Your browser does not support the video tag. 案例:小闹钟 功能:今天15:10:00,响起猫叫声小闹钟 工作原理 当所有的输入都是Yes的时候,与节点才输出Yes。

  • 问题内容: 似乎有三种 相同的 方法可以独立于平台获取依赖于平台的“文件分隔符”: 我们如何决定何时使用哪个? 它们之间甚至有什么区别吗? 问题答案: 可以通过调用命令行参数或使用命令行参数覆盖 获取默认文件系统的分隔符。 获取默认文件系统。 获取文件系统的分隔符。请注意,作为一种实例方法,在需要代码在一个JVM中对多个文件系统进行操作的情况下,可以使用该方法将不同的文件系统传递给代码(而不是默认