我无法使用 PHPUnit 4.2.6 来使用 PHPStorm 8 。
PHPUnit在PHPStorm 8设置中作为phar加载。
每当我尝试在PHPStorm中运行单元测试时,我都会收到此错误:
Parse error: syntax error, unexpected '}' in /private/var/folders/qh/xjz1kr297v34pl6zy70_2rl00000gn/T/ide-phpunit.php(171) : eval()'d code on line 1
Call Stack:
0.0006 344584 1. {main}() /private/var/folders/qh/xjz1kr297v34pl6zy70_2rl00000gn/T/ide-phpunit.php:0
0.0007 344880 2. IDE_PHPUnit_Loader::init() /private/var/folders/qh/xjz1kr297v34pl6zy70_2rl00000gn/T/ide-phpunit.php:194
Warning: require_once(PHPUnit/Runner/Version.php): failed to open stream: No such file or directory in /private/var/folders/qh/xjz1kr297v34pl6zy70_2rl00000gn/T/ide-phpunit.php on line 49
当我查看“ide-phpunit.php”时,我发现它试图评估无效代码,因为无效的“substr”函数用法。
所以我的问题是,如果有人设法让PHPUnit 4.2.6与PHPStorm 8一起工作吗?
答案 0 :(得分:3)
以下是如何“解除”IDE与phpnunit.phar(4x +)在Windows和Linux上运行良好的运行方式!
:\Program Files (x86)\JetBrains\PhpStorm 8.0.3\plugins\php\lib
。scripts/phpunit.php
。PHPUnit/…
require语句,因此自动加载器可以完成其工作而不是使用硬编码值。public static function init()
方法。希望这可以帮助你们中的一些人。我也会将这些信息发布到他们的论坛。
答案 1 :(得分:3)
我得到了完全相同的错误,并修改如下:
使用:composer global require phpunit/phpunit
转到phpstorm设置:PHPUnit
选择“使用自定义自动加载器”
C:\Users\[username]\AppData\Roaming\Composer\vendor\autoload.php
/home/[username]/.composer/vendor/autoload.php
答案 2 :(得分:2)
PhpStorm生成特殊的临时"包装"执行测试并以更好理解的形式获得输出。在你的情况下它是/private/var/folders/qh/xjz1kr297v34pl6zy70_2rl00000gn/T/ide-phpunit.php
。由于错误显示存在语法错误,因此首先应该尝试删除它,在下次运行时,IDE将创建新的,希望没有这个问题。
如果这没有帮助,正如评论中所建议的那样,尝试将PHPUnit降级几个版本,看看是否有帮助。或者尝试重新安装PhpStorm。如果这不起作用,您有更好的机会通过reporting an issue向开发团队找到答案。