2

当我通过 Zend_Tool 命令创建一个控制器时:

create controller NameController

... netbeans 成功创建了一个新控制器。但是,它会在输出窗口中发送一条消息:

PHPUnit is required in order to generate controller test stubs.

如何让 Netbeans 使用 phpunit 测试自动创建一个类?我搜索了网络和数千个解决方案到目前为止无法解决......

重要笔记:

  • 已经安装了pear
  • 已经安装了 phpunit
  • 已在 include_path 中包含“phpunit”
  • 已创建文件并在 include_path 中也包含 zf.ini
  • 选项已经配置了netbeans,我通知目录phpunit.bat。

它是 NetBeans 中的错误吗?

看:

http://img545.imageshack.us/img545/262/001hxw.jpg

http://img855.imageshack.us/img855/8918/002jfy.jpg

http://img196.imageshack.us/img196/378/003sfu.jpg

http://img834.imageshack.us/img834/1858/004qc.jpg

http://img444.imageshack.us/img444/1020/005jx.jpg

4

2 回答 2

1

我不认为这是一个Neatbeans问题,而是一个Zend_Tool(zf.bat) 问题。
您可能正在使用Zend_Tool在正确安装 phpunit 之前构建的项目。
在这种情况下,该部分或您的.zfproject.xml没有使用 phpunit 所需的信息。
Netbeans实际上并没有做任何事情,Zend_Tool除了提供图形界面。
我希望我能快速解决这个问题,但我没有。我过去通过以下方式解决了这个问题:

  1. 确保 phpunit 正确设置并在Netbeans中工作

现在您有 2 个选择:

  1. 重新制作您的项目目录,Zend_Tool并让.zfproject.xml文件使用工作的 phpunit 生成。(这适用于新项目)

  2. 使用 新建一个项目,使用编辑器Zend_Tool查看.zfproject.xml并更改项目的.zfproject.xml以包含 phpunit 信息。这种方法可能需要一些试验和错误才能正确。

在这里要完整的是我的.zfproject.xml文件之一的摘录:

<testsDirectory>
      <testPHPUnitConfigFile filesystemName="phpunit.xml"/>
      <testPHPUnitBootstrapFile filesystemName="bootstrap.php"/>
      <testApplicationDirectory>
        <testApplicationControllerDirectory>
          <testApplicationControllerFile forControllerName="Index"/>
        </testApplicationControllerDirectory>
      </testApplicationDirectory>
      <testLibraryDirectory/>
    </testsDirectory>

我还没有找到一种方法来重新生成.zfproject.xml文件以反映对环境的更改。

我希望其他人有更简单的解决方法...

于 2012-04-12T06:30:12.073 回答
0

我找到了解决方案。

c:/user/you profile user/.zf.ini中,配置文件是这样的:

php.include_path = ".C:/wamp/bin/php/php5.3.8/pear/PHPUnit;C:/Program Files/NetBeans 7.1/php/zend;C:/wamp/apps/ZendFramework/library" basicloader.classes.0 = "NetBeansCommandsProvider"

我取了 php.include_path,留下的文件如下:

basicloader.classes.0 = "NetBeansCommandsProvider"

好吧..这太疯狂了,不明白,因为它对我很有效。

注意:请注意,设置应该已经在 C:\wamp\bin\php\php5.3.8 和 C:\wamp\bin\apache\Apache2.2.21\bin 的 php.ini 中设置 include_path

谢谢大家!

于 2012-04-12T13:31:42.310 回答