PHPUnit 3.6.10 + ZendFramework 1.11.11 + NetBeans 7.1

时间:2012-04-11 17:25:17

标签: zend-framework phpunit wamp

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

create controller NameController

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

PHPUnit is required in order to generate controller test stubs.

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

重要说明:

  • 已经安装了梨
  • 已安装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://img196.imageshack.us/img196/378/003sfu.jpg

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

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

2 个答案:

答案 0 :(得分:1)

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

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

    现在您有两个选择:

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

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

    3. 要完成此处,请摘录我的 .zfproject.xml 文件之一:

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

      我还没有找到重新生成 .zfproject.xml 文件以反映环境变化的方法。

      我希望别人有更容易解决的问题......

答案 1 :(得分: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中的php.ini中设置了include_path .2.21 \ BIN

感谢所有人!