PhpStorm: Class 'PhpUnit\Framework\TestCase' 未找到(作曲家/自动加载)
PhpStorm: Class 'PhpUnit\Framework\TestCase' not found (composer / autoload)
我遇到了 PhpStorm、composer 和 PHPUnit 的问题。
- Windows 8.1 专业版(64 位)
- PhpStorm 是最新的:2018.2.2
- 尝试了不同的 PHP 解释器,例如 XAMPP 和干净的 PHP for win
- PHP作曲家需要单位:
"phpunit/phpunit": "^7.3.3"
。
- PHP单元也通过 composer 成功安装到供应商目录。
- PHP从 PhpStorm 识别单元:
我的测试 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
我遇到了 PhpStorm、composer 和 PHPUnit 的问题。
- Windows 8.1 专业版(64 位)
- PhpStorm 是最新的:2018.2.2
- 尝试了不同的 PHP 解释器,例如 XAMPP 和干净的 PHP for win
- PHP作曲家需要单位:
"phpunit/phpunit": "^7.3.3"
。 - PHP单元也通过 composer 成功安装到供应商目录。
- PHP从 PhpStorm 识别单元:
我的测试 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