PhpUnit 9在php 8+中失败



我尝试使用PHPUnit 9,但它不支持PHP 8.0以上的最新版本我收到以下错误

Fatal error: Uncaught Error: Call to undefined function each() in C:xamppphppearPHPUnitUtilGetopt.php:80 Stack trace: #0 C:xamppphppearPHPUnitTextUICommand.php(242): PHPUnit_Util_Getopt::getopt(Array, 'd:c:hv', Array) #1 C:xamppphppearPHPUnitTextUICommand.php(138): PHPUnit_TextUI_Command->handleArguments(Array) #2 C:xamppphppearPHPUnitTextUICommand.php(129): PHPUnit_TextUI_Command->run(Array, true) #3 C:xamppphpphpunit(46): PHPUnit_TextUI_Command::main() #4 {main} thrown in C:xamppphppearPHPUnitUtilGetopt.php on line 80

确保在较低版本的PHPUnit中没有安装Global包。

检查此答案以查找全局安装的软件包。

cd $(composer -n config --global home) && ls -la vendor

也许您正在调用全局而不是项目。
如果你可以用

删除它
composer global remove phpunit

我假设您的环境PATH变量包含全局Composer文件夹,因此默认情况下phpunit调用该文件夹。
否则,使用./vendor/bin/phpunit(从目录C:xampphtdocstest)调用您在项目中安装的特定版本。

最新更新