PhpStorm: Class 'PhpUnit\Framework\TestCase' 未找到(作曲家/自动加载)

PhpStorm: Class 'PhpUnit\Framework\TestCase' not found (composer / autoload)

我遇到了 PhpStorm、composer 和 PHPUnit 的问题。

我的测试 class 扩展了 PhpUnit\Framework\TestCase class 并且当您 运行 测试时,会发生以下情况:

首先,PhpStorm 似乎从 XAMPP 的 PHP 加载了旧的 PHPUnit (3.7.21) 而不是公认的 PHPUnit (7.3. 3) 作为 PhpStorm 设置中的设置/安装到供应商文件夹。

但我不这么认为。

我认为 PhpStorm 试图通过自动加载器加载 PhpUnit\Framework\TestCase class,但我不知道为什么它找不到 PHPUnit...

提前致谢!


整个项目可以最小化为这个简单的测试class:

composer.json 如下所示:

"autoload": {
  "psr-4": {
    "Flo\Newsletter\": "src/"
  }
},
"require": {
  "php": "^7.1"
},
"require-dev": {
  "phpunit/phpunit": "^7.3.3"
}

命名空间区分大小写。请在导入中将 PhpUnit 更改为 PHPUnit

尽管 PhpStorm 确实可以检测到。这是一个功能请求:https://youtrack.jetbrains.com/issue/WI-38140