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

时间:2014-03-28 15:50:38

标签: php

使用PhpStorm运行phpunit测试。

收到此错误:

  

的/ usr /本地/ PHP5 / bin中/ PHP的   /private/var/folders/m8/k61mmmmj7g732j3pd0_91s0c0000gn/T/ide-phpunit.php   --configuration /Users/psteinheuser/unity/test/phpunit.xml DatabaseDumperTest   /Users/psteinheuser/unity/test/DatabaseDumperTest.inc测试开始了   上午11:36 ......

     

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

     

调用堆栈:       0.0013 340096 1. {main}()/private/var/folders/m8/k61mmmmj7g732j3pd0_91s0c0000gn/T/ide-phpunit.php:0   PHP致命错误:类IDE_PHPUnit_Framework_TestListener包含1   因此,抽象方法必须声明为抽象或实现   其余的方法(PHPUnit_Framework_TestListener :: addRiskyTest)   在   /private/var/folders/m8/k61mmmmj7g732j3pd0_91s0c0000gn/T/ide-phpunit.php   在第504行

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

PHPStorm 7.1.3 phpunit 3.7.28 php 5.4.24

操作系统是Mac 10.9.2

删除并重新安装了PHPStorm,升级了php,重新安装了phpunit,重新启动了apache,重启,抓了我的头等等。

从终端手动运行phpunit测试,工作正常。

查看PHpStorm中的首选项,它似乎正确指向phpunit。 我认为这是一个许可或路径问题,但我不知道接下来要去哪里看。

欣赏任何输入或指示。

1 个答案:

答案 0 :(得分:2)

在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

为我修好了。希望它能为你修复它。祝你好运!