PHPUnittesting的“Web界面”?
是否有一个简单的“Web界面”来运行PHPUnittesting套件? 即在命令行上运行testing的PHP脚本,并输出格式良好的HTML结果。
我开发Web应用程序,日常工作stream程通常在IDE和浏览器之间切换。 我想在相同的环境中进行unit testing。
我正在寻找一些非常简单和基于PHP的东西 – 我打算进入phpUnderControl(它有我正在寻找的function),但还没有。
您可以使用phing运行一个PHPUnitTask ,然后使用以下命令转换输出:
- PHPUnitReport – 此任务使用XSLT将PHPUnit xml报告转换为HTML。
例:
<phpunitreport infile="reports/testsuites.xml" format="frames" todir="reports/tests" styledir="/home/phing/etc"/>
有关各种输出格式,请参阅phpunit --help
。
PHPUnit的2.3版有一章,但是现在已经有一段时间了。 您可能能够在某处findGoogle的旧版本。
既然你提到这是为phpUnderControl:如果你不是固定的,考虑使用jenkins和http://jenkins-php.org 。
另一方面,除非我们正在谈论CI服务器,否则我认识的大多数人不会通过Web界面使用PHPUnit。 他们要么只是使用命令行或他们的IDE集成。
我最近发现Visual PHPUnit
对于不想从命令行运行PHPUnit的每个人来说都是非常好的界面:
这似乎是@ Matt的PHPUnit Test Report
的下一个迭代
我感到你的挫折 – 我自己是一个UI用户。 看着terminal太久,我的头旋转。 我写了一个快速的小应用程序,你可能会发现有帮助。
PHPUnittesting应用程序http://mattmueller.me/blog/wp-content/uploads/2010/06/test.png
你可以在这里find它: http : //mattmueller.me/blog/introducing-phpunit-test-report
干杯! 马特
最近经过几个小时的研究,我遇到的最好的PHPUnit网页前端是https://github.com/NSinopoli/VisualPHPUnit
您可以使用Jenkins运行任何types的任务,包括PHPUnittesting。 它可以自动检查你的应用程序,运行testing,build立一个HTML报告,甚至发送电子邮件,如果生成失败。
以下是您需要设置Jenkins以从项目中构build一组有趣的报告和统计数据的模板 。
我从来没有见过这样的networking界面……但是,正如你所说,你总是使用你的IDE和你的网页浏览器,为什么不以另一种方式思考?
即一个可能的解决scheme是从您的IDE启动unittests 😉
这意味着你应该能够点击失败的testing来跳转到testing方法,或者导致testing失败的原因。
在PHP + PHPUnit世界中,我知道Zend Studio是这样做的 – 是的,它不是免费的,不幸的是;-(
使用Eclipse PDT,解决scheme是将PHPUnit注册为外部工具(请参阅或实例化此博客文章: 将PHPUnit与Eclipse PDT一起使用 ) – 但它不够性感,您不能单击结果来跳转方法/testing…
另一个解决scheme是开发一个插件来将PHPUnit集成到Eclipse PDT中(就像Zend Studio所做的那样) , phpunit4eclipse是在一段时间之前创build的,但这只是一个开始,没有太多的成功,所以作者在发布后没有对它进行处理。
我发现这个 :
我从Parth Patil的一篇文章中遇到了麻烦,他的解决scheme是从PHPUnit创build一个xml报告,然后使用这个xml来创build自己的报告。
我用他的解决scheme,使PHPUnit 3.4兼容,并添加了一些reflection,看看我的testing用例文档评论在报告中。 (注意:为了反思我使用Zend_Frameworkreflection类)
好吧,你说你更喜欢独立的IDE解决scheme,但只要你知道有一个最近的插件,使PHPUnit执行简单的Eclipse,并有一个很好的代表(如在Zend Studio,但免费)。
这里是链接,如果您遇到问题,主要开发人员也会快速回复电子邮件:
我personnalytesting了一些networking界面,但我一直被欺骗(不是真正的实践和稳定)。 但是这是你的select。
jframework也为PHPUnit提供了一个很好的UI。 它打破了结果,并分别显示所有文件和每个文件的testing覆盖率。 它既可以在networking上运行,也可以在cli上运行,在每个testing完成之后,cli可以倾倒每一个testing(networking应用程序必须等到一切都结束)。
您始终可以使用Maven for PHP从中使用surefire报告(mvn站点)。 更多信息: http : //www.php-maven.org
如果你不关心重新格式化输出,只想从网页上运行PHPUnit,你可以用下面的PHP代码来实现:
<pre> <?php $argv[0] = "phpunit.phar"; $argv[1] = '--bootstrap'; $argv[2] = 'src/load.php'; $argv[3] = "tests/MoneyTest"; $_SERVER['argv'] = $argv; include 'phpunit.phar'; ?> </pre>
文件src / load.php只是包括一些包括类。 输出结果如下所示:
#!/usr/bin/env php PHPUnit 4.1.2 by Sebastian Bergmann. ........................ Time: 122 ms, Memory: 3.25Mb OK (24 tests, 43 assertions)
只要忽略第一行,你就可以看到结果。
我感到震惊的是,PHPUnit没有包含这样做的基本方法。 有些类可能依赖于Web服务器。 我们只是不testing这些? 有些网站可以上传文件,不允许执行命令行。