Eclipse PDT& PHPUnit的?

时间:2009-06-08 19:54:32

标签: eclipse phpunit eclipse-pdt

PHPUnit与Eclipse PDT有任何集成吗?

如果没有,有没有计划这样做?

13 个答案:

答案 0 :(得分:44)

请参阅Eclipse Plugin PHP Tool Integration (PTI),它提供了Eclipse的以下功能的集成:

  • PHP_CodeSniffer
  • PHPUnit的
  • PHP Depend
  • PHP复制/粘贴检测器

更新网站(帮助 - 安装软件 - 添加...):

最新稳定版:http://www.phpsrc.org/eclipse/pti/

开发版:http://www.phpsrc.org/eclipse/pti-dev/

答案 1 :(得分:23)

我们开发了一个名为MakeGood的Eclipse插件,它将PHPUnit和更多测试框架与Eclipse PDT集成在一起。

  

MakeGood是一个在Eclipse PDT上运行单元测试的连续测试运行器。

     

MakeGood通过自动化工作流程提供快速反馈,用于运行测试,跟踪故障和错误以及致命错误。这将有助于开发人员进行Test Driven Development(TDD)和持续测试

有关详细信息,请访问我们的网站:https://github.com/piece/makegood/wiki

A screenshot of MakeGood

答案 2 :(得分:7)

可以通过简单的方式将PHPUnit与PDT集成(这些设置不是完全通用的,但应该是一个很好的起点)。

  1. 选择运行>外部工具> 外部工具配置
  2. 制作新计划
  3. 将位置设置为指向您的位置 可执行文件(/ usr / bin / phpunit on Linux)的
  4. 设置工作目录以使用 变量$ {workspace_loc}
  5. 将参数设置为 $ {resource_path}
  6. 现在选择Run>外部工具> PHPUnit来执行选定的测试文件。这只是执行phpunit并将STDOUT发送到Eclipse终端。简单但有效。

    随后,您可以使用带有绿色箭头和红色工具箱的图标来运行PHPUnit,而无需浏览菜单。

答案 3 :(得分:5)

Sebastian Bergmann did approach pdt back in 2006 ......但没有明显的结果 以及他在博客only mention PHPEdit 2.12 and Zend Studio上的最新作品。

在PDT方面正式记录的唯一测试框架是"PDT Testing Framework",它似乎没有得到积极维护......

所以,不。似乎没有任何计划在不久的将来积极地将PHPUnit集成到PDT中。

答案 4 :(得分:5)

(免责声明:我绝对不是我在这里谈论的项目的开发者;只有一个用户^^(而且因为我不了解JAVA,所以我很难帮助你贡献代码......所以这是我的帮助方式:-)))

目前正在进行这方面的工作:几个星期前(可能不超过两周),在Eclipse中集成phpunit的第一个项目已经发布:

它的作用:

  • 允许从eclipse启动phpunit测试
  • 并获得正在发生的事情的“视觉线索”
  • 这在某种程度上比Sebastian在phpunit wiki上提出的方法更好/更友好。

对于某种屏幕截图,请参阅http://code.google.com/p/phpunit4eclipse/wiki/j2phpUnitWrapper


不幸的是,它不是作为Eclipse插件开发的(还是?)

  • 它是一个单独的JAVA项目,启动phpunit
    • 或类似的东西,据我所知......
  • 表示:
    • 没有尽可能好地集成在Eclipse中
    • 最重要的是当你双击一个测试类/方法时,它不会让你进入那个类/方法(因为测试的结果是由JAVA项目和测试类显示的/方法在另一个PHP项目中
  • 仍然很难安装:
    • 我还没有成功设法在Eclipse PDT中安装它
    • 我不得不安装“Eclipse IDE for Java Developers”,然后在这个中安装PDT插件(工作正常,但不是“容易”)

无论如何,这项工作正在进行中,该项目还很年轻,而且这只是第一步......


几年前为该项目创建了一个Google小组:http://groups.google.com/group/phpunit4eclipse-user/

目前,但我相信如果有人加入,提出他们的想法,为什么不做,这会有所帮助!

答案 5 :(得分:3)

Eclipse PDT和PHPUnit存在明确的集成。 PHPSRCMakeGood 虽然我是MakeGood的粉丝,phpunit phpsrc还有其他好东西,比如CodeSniffer。我已经分支了一个PHPUnit CodeSniffer Standard on github来验证我可以使用Eclipse PHP Tools CodeSniffer插件运行的phpunit测试的质量。这有新的phpunit包的更新,如setUp和tearDown。

确保测试中存在断言。在尝试满足代码覆盖率指标时,有些东西想要遗漏 no assertions in test

确保每次测试的断言不超过1次。一个best practice too many tests

在Eclipse中设置PDT并不简单。

涉及很多小细节 这是高级别的步骤。

pear clear-cache
pear upgrade pear
pear update-channels
pear upgrade --alldeps -f 
pear channel-discover pear.phpunit.de
pear channel-discover pear.symfony-project.com
pear channel-discover components.ez.no
pear install --alldeps phpunit/PHPUnit

[Xdebug的]

zend_extension = "C:\xampp\php\ext\php_xdebug-2.2.1-5.4-vc9.dll"
xdebug.remote_enable=1
xdebug.remote_handler="dbgp"
xdebug.remote_mode="req"
xdebug.remote_port=9000    
xdebug.remote_host = "127.0.0.1"
xdebug.remote_log="C:\xampp\php\logs"

我花了近3天时间才把所有事情都弄好了所以我把video tutorial

组合在一起 祝你好运!

答案 6 :(得分:2)

Eclipse Marketpalce上有一个插件,现在叫做PTI PHP Tool Integration。

http://www.phpsrc.org/

答案 7 :(得分:0)

我还运行PHPUnit作为DavidWinterbottom提出的外部工具。

我还根据项目类型添加的一件事是进入“构建选项”选项卡,然后选择第一个选项:“运行构建器:”。这会触发每次保存文件时运行的单元测试。这非常适合快速获得红绿重构反馈循环。

我已在此处发布了截图的完整步骤:http://nicholaslemay.blogspot.com/2010/02/using-eclipse-phpunit-as-automatic.html

答案 8 :(得分:0)

也可以使用Ant中的phpunit,Eclipse本身也支持Ant。简单在目标中有一个新的<exec executable="phpunit">,你可以通过蚂蚁在eclipse中使用phpunit。

答案 9 :(得分:0)

关注@DavidWinterbottom响应(Eclipse Indigo):

  1. 选择运行 - &gt;外部工具 - &gt;外部工具配置

  2. 创建新程序

  3. 将位置设置为指向可执行文件(Linux上的/usr/bin/phpunit或Windows上phpunit.bat的路径)

  4. 将参数设置为phpunit文件夹的绝对路径(C:\phpproject\testunit

  5. 我无法使用${project_loc}${project_path}

答案 10 :(得分:0)

对于所有在unix上使用composer的机器(安装了eclipse和xdebug):

cd <project-root>
ln -s vendor/bin/phpunit phpunit.php

打开eclipse,打开运行/调试配置,创建新的调试配置,然后选择phpunit.php作为要调试的文件。像往常一样继续设置的其余部分,设置断点,就是这样。

答案 11 :(得分:-1)

您已在Zend Studio中的PDT上集成了PHPUnit。还有一个CE版本。

答案 12 :(得分:-2)

我在Eclipse中尝试过PHP Unit,对配置问题不满意。我切换到NetBeans PHP IDE。 我建议使用NetBeans PHP IDE进行PHP单元测试。 http://www.netbeans.org/kb/docs/php/phpunit.html