首先,我收到了一个警告和一个致命错误。警告:
警告:"continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"?
然后我用break替换了continue,警告消失了。但是即使替换之后,致命错误仍然发生。致命错误:
PHP 致命错误:在 D:xamppphppearPHPUnitUtilGetopt.php 的第80行调用了未定义的函数each()
堆栈跟踪:
#0 D:xamppphppearPHPUnitTextUICommand.php(242): PHPUnit_Util_Getopt::getopt(Array, 'd:c:hv', Array)
#1 D:xamppphppearPHPUnitTextUICommand.php(138): PHPUnit_TextUI_Command->handleArguments(Array)
#2 D:xamppphppearPHPUnitTextUICommand.php(129): PHPUnit_TextUI_Command->run(Array, true)
#3 D:xamppphpphpunit(46): PHPUnit_TextUI_Command::main()
#4 {main}
在 D:xamppphppearPHPUnitUtilGetopt.php 的第80行抛出
致命错误:在 D:xamppphppearPHPUnitUtilGetopt.php 的第80行调用了未定义的函数each()
堆栈跟踪:
#0 D:xamppphppearPHPUnitTextUICommand.php(242): PHPUnit_Util_Getopt::getopt(Array, 'd:c:hv', Array)
#1 D:xamppphppearPHPUnitTextUICommand.php(138): PHPUnit_TextUI_Command->handleArguments(Array)
#2 D:xamppphppearPHPUnitTextUICommand.php(129): PHPUnit_TextUI_Command->run(Array, true)
#3 D:xamppphpphpunit(46): PHPUnit_TextUI_Command::main()
Getopt.php的77-83行
reset($args);
array_map('trim', $args);
while (list($i, $arg) = each($args)) {
if ($arg == '') {
continue;
}
我使用的是PHP 8.0.1和PHPUnit 9(至少我认为是这样,因为我无法使用命令进行检查,并且我在2月7日之后下载了它)
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
对于PHPUnit我不是专家,但是在PHP 8中不再支持"each"函数
引用自PHP官网
可能你使用的PHPUnit版本还没有适配PHP 8。 如果可以的话,请检查版本,然后参考PHPUnit版本支持情况