在include path phpstorm中找不到PHPUnit

时间:2013-08-19 09:15:43

标签: php phpstorm

Cannot find PHPUnit in include path是我尝试在phpstorm中运行代码时收到的错误消息。

在PHP设置中,我的PHP级语言为5.4 (traits, short array syntax, etc.),解释器为Name(5.4.7),其中Name是用户定义的。

当我尝试运行代码时出现错误,确切的消息是:

  

C:\ xampp2 \ php \ php.exe C:\ Users \ DELL \ AppData \ Local \ Temp \ ide-phpunit.php --no-configuration

     

C:\ xampp2 \ htdocs中\英尺 - 网站

     

测试于下午2:34开始......

     

使用退出代码1完成处理

     

在include路径中找不到PHPUnit(。; C:\ xampp2 \ php \ PEAR)`

7 个答案:

答案 0 :(得分:53)

我自己刚遇到这个问题。

我不确定为什么它无法在包含路径中找到PHPUnit(尽管它 在那里,尽管全部小写)。

我通过更改PHPUnit的IntelliJ首选项(在PHP --> PHPUnit下)解决了这个问题。我将PHPUnit library设置更改为Use custom loader,然后指定了phpunit可执行文件的路径。在我的Mac上,那是/usr/local/Cellar/php54/5.4.26/bin/phpunit

更新:

我刚刚发现pear现在将PHPUnit安装为名为phar的{​​{1}}。它之前安装了PHPUnit源代码,非常适合PHPStorm中的参考和代码完成。我认为这就是PHPStorm不再使用的原因,因为它预计会有php可执行文件,而不是php存档。

所以,我不再使用phpunit来安装PHPUnit,而是使用composer代替。这将PHPUnit直接捆绑为我项目的依赖项,这使得它比系统依赖项更具可移植性。您需要在PHPStorm首选项中添加pear作为PHP包含路径。这有两个目的:

  1. PHPStorm现在可以找到vendor/phpunit/phpunit可执行文件
  2. PHPStorm现在将为所有phpunit课程编制索引,以便您自动完成。耶!
  3. 要执行此操作,请转到PhpStorm设置中的语言和框架。 如果单击PHP,则右侧会显示包含路径

答案 1 :(得分:21)

通过composer添加PHPUnit后出现了这个问题。

我通过在use custom autoloader中选择Settings -> Languages and Frameworks -> PHP -> PHPUnit,然后添加/vendor/autoload.php作为自定义自动加载器的位置来解决此问题。

答案 2 :(得分:4)

这是在不使用composer和使用全局phpunit的情况下完成此操作的方法。

  1. Phpunit现在附带一个phar文件。我的路径是 /usr/local/Cellar/phpunit/5.0.0/libexec/phpunit-5.0.0.phar
  2. enter image description here

    1. PhpStorm首选项 - > phpunit.phar的路径 - > 选择phpunit phar
    2. enter image description here

      1. 这就是好事。

答案 3 :(得分:3)

除了Ben的回答,在phpStorm 7.1.3中,它通过在“use custom loader”选项下指定phpunit.phar位置来工作,例如:

“脚本路径:/usr/share/php/phpunit.phar”

答案 4 :(得分:2)

我使用Vagrant对PHPStorm 2017也有同样的问题。首先转到Settings -> Languages and Frameworks -> PHP并添加远程口译员,然后转到Settings -> Languages and Frameworks -> PHP -> PHPUnit点击顶部的+,然后点击by Remote Interpreter。如果您正在使用Composer自动加载器,请输入自动加载器文件的完整Vagrant路径。

答案 5 :(得分:0)

对于将来的读者,通过定义 global phpunit.phar (不是作曲家)的路径来解决在使用PHPStorm + Vagrant + PHPUnit时的相同问题

虽然测试成功运行,但我缺少代码完成功能。我已经确认phpunit在本地计算机上的PATH中,并且确保将/usr/local/bin添加到PHP Settings中的PHP Include路径中。仍然没有代码完成。

原因:PHPstorm正在寻找phpunit.phar,而不仅仅是phpunit。要修复,我在本地计算机上建立了指向phpunit.phar的符号链接phpunit

$ cd /usr/local/bin/
$ sudo ln -s phpunit phpunit.phar

然后我重新索引了该项目,并且代码完成开始工作。

答案 6 :(得分:0)

对于那些在 2020 年着眼于它的人,从 PHPStorm 2019 开始,下面是:

Languages and Frameworks->PHP->Test Frameworks
  1. 选择添加新库
  2. 选择“PHPUnit”
  3. 选择“phpunit.phar 的路径”单选
  4. 您将有一个自动下载 PHPUnit 的选项