PhpStorm PhpUnit通过phar自动完成无法正常工作

时间:2014-12-02 08:40:17

标签: autocomplete phpunit phpstorm

我有PHPStorm 8.0.1。

PHPUnit通过PHAR存档安装,如:

wget https://phar.phpunit.de/phpunit.phar
chmod +x phpunit.phar
sudo mv phpunit.phar /usr/bin/phpunit

PHPUnit通过cli工作:

user@pc:/usr/bin$ cd ~
user@pc:~$ phpunit --version
PHPUnit 4.3.5 by Sebastian Bergmann.

我按照JetBrains网站https://www.jetbrains.com/phpstorm/webhelp/enabling-phpunit-support.html#d298258e897

的说明进行操作

在PHPStorm文件 - >设置选项卡PHP / PHPUnit中 选中单选按钮Path to phpunit.phar 和值设置为/usr/bin/phpunit

我有一个测试定义如下的文件:

class MyTest extends PHPUnit_Framework_TestCase {
...

此时PHPStorm标记为Undefined class PHPUnit_Framework_TestCase

我重启了PHPStorm和计算机,但仍然遇到同样的问题。

我还尝试添加/usr/bin以包含路径(右键单击项目视图中的外部库,并选择选项Configure PHP include paths)但没有成功。

这是PHPStorm设置的配置,选项卡PHP(如果重要):

PHP Language level: 5.5 (finally, generators, etc.)
Interpreter: PHP 5.5 (5.5.9-1ubuntu4.5)
Include path is empty

2 个答案:

答案 0 :(得分:35)

为了让由IDE编制索引的PHAR存档,它必须具有.phar扩展名(这是一项要求)。

最简单的解决方案是将phpunit.phar放在项目的某个位置(通常是PROJECT_ROOT/vendor/文件夹)。

如果不需要本地副本(无论出于何种原因;虽然作曲家和其他类似工具(bower / npm / etc)主要是为了保持本地的依赖性内容/包),但您可以使用符号链接:在本地创建指向该文件的符号链接(例如PROJECT_ROOT/phpunit.phar - > /usr/bin/phpunit)..或在单独的文件夹中放置完整副本(或此类符号链接) 在磁盘上的某个位置,然后通过PhpStorm的Settings | PHP | Include Paths功能引用它。

答案 1 :(得分:0)

Calin的上述修复对PhpStorm 2019.1.1也很有效,因此,我将其发布为答案,以简化可见性:

尝试右键单击.phar,然后单击“从项目中排除phar” ,然后单击“将phar包含到项目中” 对其进行刷新。

就我而言,.phar文件和我的.idea文件夹都是从git commit提取的。我想PhpStorm没有意识到该文件需要重新导入。