使用PHPSTORM运行测试时出现PHPUNIT错误


PHPUNIT error when running tests with PHPSTORM

使用PhpStorm运行phpunit测试。

收到此错误:

/usr/地方/php5/bin/php/私人/var/文件夹/m8/k61mmmmj7g732j3pd0_91s0c0000gn/T/ide-phpunit.php——configuration/Users/psteinheuser/unity/test/phpunit.xml/用户/psteinheuser//测试/DatabaseDumperTest统一。开始测试at 11:36 AM…

致命错误:类IDE_PHPUnit_Framework_TestListener包含1抽象方法,因此必须声明为抽象或实现剩下的方法(PHPUnit_Framework_TestListener::addRiskyTest)在/私人/var/文件夹/m8/k61mmmmj7g732j3pd0_91s0c0000gn/T/ide-phpunit.php第504行

调用堆栈:0.0013 340096{主要}()/私人/var/文件夹/m8/k61mmmmj7g732j3pd0_91s0c0000gn/T/ide-phpunit.php: 0PHP致命错误:类IDE_PHPUnit_Framework_TestListener包含1抽象方法,因此必须声明为抽象或实现剩下的方法(PHPUnit_Framework_TestListener::addRiskyTest)在/私人/var/文件夹/m8/k61mmmmj7g732j3pd0_91s0c0000gn/T/ide-phpunit.php第504行

已经发现以前的帖子说这是固定的,虽然我似乎有正确的版本,它应该工作。

PHPStorm 7.1.3phpunit) 3.7.28php 5.4.24

操作系统是Mac 10.9.2

删除并重新安装了PHPStorm,升级了php,重新安装了phpunit,重新启动了apache,重新启动了,挠了挠头等等

从终端手动运行phpunit测试,效果很好。

查看PHpStorm中的Preferences,它似乎正确地指向了phpunit。我认为这是一个权限或路径问题,但我不知道下一步该看哪里。

感谢您的建议和指导。

在PHPStorm中,我能够解决这个问题的唯一方法是手动更新存在此错误的jar文件的内容。

我们都在Mac OSX 10.9上,所以这些说明应该适用于你。

首先复制现有的jar文件:

cp /Applications/PhpStorm.app/plugins/php/lib/php.jar /Applications/PhpStorm.app/plugins/php/lib/php.jar.orig

现在,创建一个临时目录来保存jar文件的内容并解压

mkdir ~/jarfiles cd ~/jarfiles jar xf /Applications/PhpStorm.app/plugins/php/lib/php.jar

提取后,您需要编辑phpunit.php文件以添加缺失的方法存根

vi scripts/phpunit.php

在我的文件中大约310行是一个类'IDE_PHPUnit_Framework_TestListener'。插入以下方法存根:

公共函数addRiskyTest(PHPUnit_Framework_Test $test, Exception $e, $time){}

现在只需重新打包你的jar并将其替换到你的PhpStorm:

jar cf0 php.jar ./* mv php.jar /Applications/PhpStorm.app/plugins/php/lib/php.jar

这为我解决了这个问题。希望它也能解决你的问题。好运!