2011-03-31 103 views
0

的Zend Studio 8的PHPUnit的整合和专用的看法,这是伟大的,所以我想用它...但:奇怪的错误从Zend Studio的运行PHPUnit测试套件的时候8

当我跑我的PHPUnit .XML在命令行中,测试执行得很好,当我尝试在Zend Studio的运行phpunit.xml作为单元测试,我得到以下致命错误:

Fatal error: Uncaught exception 'PHPUnit_Framework_Error' with message 'Assigning the return value of new by reference is deprecated' in C:\Program Files (x86)\Zend\ZendServer\bin\PEAR\PEAR\Config.php:650

堆栈跟踪:

#0 C:\Program Files (x86)\Zend\ZendServer\bin\PEAR\PEAR\RunTest.php(22): ZendPHPUnitErrorHandler->handle(8192, 'Assigning the r...', 'C:\Program File...', 650, Array)
#1 C:\Program Files (x86)\Zend\ZendServer\bin\PEAR\PEAR\RunTest.php(22): require_once()
#2 C:\Program Files (x86)\Zend\ZendServer\bin\PEAR\PHPUnit\Extensions\PhptTestCase.php(49): require_once('C:\Program File...')
#3 C:\Program Files (x86)\Zend\Zend Studio - 8.0.0\plugins\com.zend.php.phpunit_8.0.0.v20101001-0100\resources\ZendPHPUnit.php(103): require_once('C:\Program File...')
#4 {main} thrown in C:\Program Files (x86)\Zend\ZendServer\bin\PEAR\PEAR\Config.php on line 650

I真的不知道这意味着什么......为什么PEAR配置中的一些不推荐使用的代码会让我的测试无法运行?

[编辑] 一些额外的信息

我的同事谁既没有PEAR也不PHPUnit的安装,可以从Zend Studio的8蛮好运行单元测试,但他不能运行任何从CLI。所以Zend Studio似乎不仅与phpUnit集成,而且还捆绑了它的一个版本。我想要最新的版本,这就是为什么我安装PEAR,然后通过PEAR我安装了phpUnit。因此,Zend Studio的phpUnit库过时了,我必须用Zend Forum用户的一个版本替换Zend Studio插件文件夹中的文件'ZendPHPUnit.php'。这导致正确包含phpUnit类和当前的问题。 [/编辑]

+0

您是否已经更新了所有的梨套餐? – KingCrunch 2011-03-31 11:26:01

+0

您可能也想在Zend论坛上提问:http://forums.zend.com并尝试http://forums.zend.com/viewtopic.php?f=59&t=10468 – Gordon 2011-03-31 13:17:16

+0

感谢所有提示远!梨升级和梨升级 - 所有结果都是'没有升级',所以我想我很好。 – markus 2011-04-01 10:16:22

回答

3

650线在PEAR \ config.php文件确实

$this->_registry['default'] = &new PEAR_Registry(
    $this->configuration['default']['php_dir'] 
); 

这将取决于您是否已经启用的error_reporting以包括水平提高的E_DEPRECATED消息。 PHPUnitZendPHPUnit的错误处理程序将把它们转换为PHPUnit_Framework_Exceptions

由于PHP在编译时已经提高了E_DEPRECATED,所以抑制这些错误的唯一方法是在php.ini中。我的假设是,您从CLI运行的PHPUnit使用的是不同于您的Zend Studio的php.ini,并且在该php.ini中,错误级别不足以提高E_DEPRECATED

如果您可以提供一个可重现的例子,我们可能会更好地理解它。无论如何,请尝试将您的PEAR安装更新到最新版本。

+0

谢谢!我也使用Zend Server CE,错误级别设置为E_ALL&E_STRICT。所以这不应该产生任何问题。我现在试图找出,CLI使用什么,但现在已经知道为什么它应该使用另一个php.ini以及应该在哪里。 – markus 2011-04-01 10:31:42

+0

@markus运行'php -i |更多'来获取CLI的phpinfo()。在指向文件位置的前几行应该有一行“配置文件(php.ini)路径”和“加载配置文件”。 – Gordon 2011-04-02 10:14:51

+0

@Gordon:加载的配置文件是我的Zend Server CE中的一个,也许是Zend Studio在运行phpUnit时使用不同的一种情况...但我在我的系统上找不到任何其他php.ini文件。 – markus 2011-04-02 11:45:45

相关问题