我有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
答案 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没有意识到该文件需要重新导入。