PhpStorm 中的 Phpunit 错误

Phpunit error in PhpStorm

我在 PhpStorm 中 运行ning 进行测试,但出现此错误。有谁知道到底是什么原因造成的?

PHP Fatal error: Class 'PHPUnit_TextUI_ResultPrinter' not found in C:\Users\administrator1\AppData\Local\Temp\ide-phpunit.php on line 249

我 运行 在其他项目中进行测试 - 也使用 ide-phpunit.php 并且它们 运行 很好。

我犯了一个愚蠢的错误...只是忘了在项目中添加 phpunit 作为依赖项。对于遇到此错误的任何其他人,请向 composer.json 添加:

"require-dev": {
    "phpunit/phpunit": "3.7.*"
},

然后运行:

composer update

问题解决了。

我在 PHPStorm 中使用各种 modifier-F10 键时遇到此错误,因为它不知道在哪里可以找到正确的 PHPUnit。

在设置 (ctrl-alt-s) 中,搜索 PHPUnit。就我而言,我想将其设置如下:

  • "use composer autoloader"
  • 脚本路径:full-path-to-project/vendor/autoload.php(这个字段对我来说是空的,对话框中显示错误)

否则它会尝试使用库的某些缓存版本 (/tmp/ide-phpunit.php) 而不是作曲家版本。如果您更喜欢使用一些全局安装的二进制文件,您当然可以使用 Path to phpunit.phar 选项。

在我的案例中,问题是由以下原因引起的:

  1. 我使用 composer 和 composer require phpunit/phpunit 命令安装了 phpunit。我没有注意到默认情况下它使用 php7 并安装了 phpunit6,它具有 class 名称和命名空间 (PHPUnit\TextUI\ResultPrinter).
  2. IDE 运行旧版本的 phpunit,它需要 class 个没有名称空间的名称 (PHPUnit_TextUI_ResultPrinter)

我决定重新安装 phpunit 运行 与上面相同的 composer 命令,但是在 php 5.6 下(因为与 php5.6 兼容很重要)和它安装了 phpunit 5.7 。 但是可以使用较新版本的 phpunit 和 php:Settings > PHP > PHPUnit :: "Use composer autoloader"(在供应商内部设置 phpunit 可执行文件的路径(在 vendors/bin/phpunit我的情况))

我遇到了同样的错误。使用phpunit4.8(旧版本)解决

我通过 composer 使用 PHP7.1 和 PHPUnit 6.3 遇到了同样的问题,但我通过 phpunit.phar 解决了。 (在选项中:select phpunit.phar 的路径,点击下载并点击刷新)

我在 Ubuntu 16.10、phpStorm 2017.2 和 Laravel 5.5

中遇到了同样的问题

通过使用

从我的 Ubuntu-system 中卸载 phpunit 来修复它
sudo apt-get remove phpunit
sudo apt-get install --autoremove

或 mac:

brew uninstall phpunit
brew install phpunit

我的 PhpStorm 配置(文件 -> 设置 -> 语言和框架 -> PHP -> 测试框架):

效果很好,现在!

在我的例子中,在 phpstorm 首选项 -> php -> CLI 解释器设置在本地,当它需要使用远程 php 7 (ubuntu).

因为我使用 vagrant box 在 ubuntu 上配置了我的环境。

更新到最新的作曲家后,composer run-script drupal-phpunit-upgrade,即使我通过自动加载器加载,PHPStorm 仍然映射到旧版本。我转到语言和框架 > Php > 测试框架并点击与 "Path to Script".

相同的行上的刷新按钮

现在我的 PHPUnit 版本为 6.5.8。

我最近遇到了类似的错误PHPUnit_TextUI_ResultPrinter not found in TeamCity.php on line 19

我正在使用 PhpStorm 2018.3.3。从 PhpStorm 使用终端后 $ phpunit PHPUnit 7.5.1 by Sebastian Bergmann and contributors.

来自我的 Ubuntu 系统 $ phpunit --version PHPUnit 5.1.3 by Sebastian Bergmann and contributors.

我必须确保我的 Ubuntu 系统 PHPUnit 已更新 到 7.5.1。所以这就是我所做的:

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

然后我去了PhpStorm: File > Settings > Language & Frameworks > PHP > Test Frameworks 并确保 PHPUnit 版本也是 7.5.1

然后从 PhpStorm 终端:phpunit 测试用例 运行 非常好。

我去设置里把我的路径设置成php如下:(根据brew)

/usr/local/opt/php/bin/php

然后 php单元工作。