【问题标题】:Eclipse PDT & PHPUnit?Eclipse PDT 和 PHPUnit?
【发布时间】:2010-11-01 06:54:00
【问题描述】:

是否有 PHPUnit 与 Eclipse PDT 的集成?

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

【问题讨论】:

  • 我可以建议打开一个错误报告吗?

标签: eclipse phpunit eclipse-pdt


【解决方案1】:

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

  • PHP_CodeSniffer
  • PHPUnit
  • PHP 依赖
  • PHP 复制/粘贴检测器

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

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

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

【讨论】:

  • 哇——这很简单。谢谢你。
  • 不幸的是,我无法找到实际运行 PHP 单元测试的方法。有什么提示吗?
  • 好的!我已经安装了它。现在呢?
  • 无法打开网站。
【解决方案2】:

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

MakeGood 是一个持续测试运行器,用于在 Eclipse PDT 上运行单元测试。

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

欲了解更多信息,请访问我们的网站:https://github.com/piece/makegood/wiki

【讨论】:

    【解决方案3】:

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

    1. 选择运行 > 外部工具 > 外部工具配置
    2. 创建一个新程序
    3. 将位置设置为指向您的 可执行文件(/usr/bin/phpunit on linux)
    4. 设置工作目录以使用 变量 ${workspace_loc}
    5. 将参数设置为 ${resource_path}

    现在选择运行 > 外部工具 > PHPUnit 来执行选定的测试文件。这只是执行 phpunit 并将 STDOUT 发送到 Eclipse 终端。简单但有效。

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

    【讨论】:

    • 感谢您的提示!我做的有点不同:Working Directory="${workspace_loc}\project-name";参数="测试文件夹"。我还必须添加一个环境变量(“环境”选项卡): PHPBIN="C:\path\to\php.exe"
    • 在 PHPUnit 中调试,在 php.ini 中配置 xDebug 并将环境变量 XDEBUG_CONFIG 设置为 idekey=123456
    【解决方案4】:

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

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

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

    【讨论】:

      【解决方案5】:

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

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

      它的作用:

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

      有关某种截图,请参阅http://code.google.com/p/phpunit4eclipse/wiki/j2phpUnitWrapper


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

      • 它是一个单独的 JAVA 项目,它启动 phpunit
        • 或类似的东西,据我所知......
      • 这意味着:
        • 在 Eclipse 中的集成度不如预期
        • 最重要的是当你双击一个测试类/方法时,它不会让你进入那个类/方法(因为测试的结果是由 JAVA 项目显示的,而测试类/method 在另一个 PHP 项目中)
      • 仍然很难安装:
        • 我没有成功地在 Eclipse PDT 中安装它
        • 我必须安装“Java Developers 的 Eclipse IDE”,然后在这个中安装 PDT 插件(效果很好,但并不“容易”)

      无论如何,这是在进行中,这个项目还很年轻,这只是第一步......


      前段时间为该项目创建了一个 google 组:http://groups.google.com/group/phpunit4eclipse-user/

      目前空,但我敢肯定,如果有人加入并提出想法会有所帮助,为什么不提供帮助!

      【讨论】:

      • 考虑到这个问题的作者已经有一个半月没有上SO了,他可能不会得到这个答案......但是,希望其他人会看到它,并且它会引起对该项目的关注^^
      【解决方案6】:

      Eclipse PDT 和 PHPUnit 有明确的集成。 PHPSRC 和 MakeGood 虽然我是 phpunit 的 MakeGood 的粉丝,但工作得很好 phpsrc 带有其他好东西,比如 CodeSniffer。我已经分支了一个PHPUnit CodeSniffer Standard on github,它验证了我可以使用 Eclipse PHP Tools CodeSniffer 插件运行的 phpunit 测试的质量。这对新的 phpunit 包进行了更新,例如 setUp 和 tearDown。

      确保测试中有断言。开发人员在尝试满足代码覆盖率指标时喜欢忽略的东西

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

      在 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

      祝你好运!

      【讨论】:

        【解决方案7】:

        Eclipse Marketpalce 上有一个插件现在称为 PTI PHP Tool Integration。

        http://www.phpsrc.org/

        【讨论】:

          【解决方案8】:

          我也像 DavidWinterbottom 建议的那样将 PHPUnit 作为外部工具运行。

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

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

          【讨论】:

            【解决方案9】:

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

            【讨论】:

              【解决方案10】:

              在@DavidWinterbottom 响应 (Eclipse Indigo) 之后:

              1. 选择运行 -> 外部工具 -> 外部工具配置

              2. 创建一个新程序

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

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

              我无法使用${project_loc} 或${project_path}。

              【讨论】:

                【解决方案11】:

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

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

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

                【讨论】:

                  【解决方案12】:

                  您已经在 Zend Studio 的 PDT 之上集成了 PHPUnit。还有CE版。

                  【讨论】:

                    【解决方案13】:

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

                    【讨论】:

                      猜你喜欢
                      • 1970-01-01
                      • 2010-12-25
                      • 1970-01-01
                      • 2010-09-29
                      • 1970-01-01
                      • 1970-01-01
                      • 2011-06-22
                      • 2011-08-23
                      • 1970-01-01
                      相关资源
                      最近更新 更多