php - 如何修复phpunit致命错误必须兼容?
问题描述
在将 phpunit 8.5 与 php 7.2.24 一起使用时,我在运行测试时不断收到以下错误:
Fatal error: Declaration of PHPUnit\TextUI\ResultPrinter::addError(PHPUnit\Framework\Test $test, Throwable $t, float $time): void must be compatible with PHPUnit_Framework_TestListener::addError(PHPUnit_Framework_Test $test, Exception $e, $time) in /var/local/gc-global.01/vendor/phpunit/phpunit/src/TextUI/ResultPrinter.php on line 31
我尝试了不同版本的 phpunit 并查看了我的测试,但我仍然无法理解问题所在。
有人见过这样的事情吗?
解决方案
看来您混合了不同的 PHPUnit 安装(因为PHPUnit_Framework_TestListener
已经存在很长时间了,当然在 PHPUnit 8.5 中也不存在)。
例如,您可能使用 Composer 安装 PHPUnit,并将 Composer 生成的自动加载器配置为 PHPUnit 的引导脚本,但随后您使用除vendor/bin/phpunit
.