2012-04-11 79 views
2

当我创建通过Zend_Tool 命令如下控制器:PHPUnit的3.6.10 + ZendFramework 1.11.11 + 7.1的NetBeans

create controller NameController

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

PHPUnit is required in order to generate controller test stubs.

如何让NetBeans中自动创建PHPUnit的测试类?我搜索网,成千上万的解决方案至今没有能够解决......

重要提示:

  • 在已经安装了梨
  • 已经安装PHPUnit的
  • 已经列入“PHPUnit的” include_path
  • 已创建一个文件,并在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

+0

以及我正要问同样的问题:) – Songo 2012-04-11 18:32:22

+0

zend Framework 1与phpUnit 3.6不兼容,您必须降级到3.5 http://dustyreagan.com/downgrade-phpunit-3-6- to-3-5-15/ – max4ever 2012-07-24 09:18:41

+0

@ max4ever ZF 1.11.11与phpUnit 3.6.10兼容。我在这里做了一个测试,它工作。 – Vegetus 2012-07-25 13:18:39

回答

0

我找到了解决办法。

C:/用户/您的个人资料的用户/ .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

谢谢大家!

1

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

  1. 确保PHPUnit的正确设置和Netbeans

现在的工作,你有两个选择:

  1. 与重拍的项目目录Zend_Tool并让.zf项目。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文件以反映环境的变化。

我希望有另外一个更容易修复...

+0

@Rockford , 感谢您的回复。但是,您的'xml'中的代码在我的_zfproject.xml_上得到了补充,因为我已经设置了项目属性(请参阅我的问题中的图4)。我遵循你的程序,但没有为我工作。但是现在,我设法只生成了一个PHPUnit测试控制器:**在'zf.ini' **中删除'php.include_path'。真是愚蠢! – Vegetus 2012-04-12 13:19:04

+0

我甚至不知道zf.ini的存在,谢谢你的回答。 – RockyFord 2012-04-13 06:37:26