首页 > 解决方案 > 如何修复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 并查看了我的测试,但我仍然无法理解问题所在。

有人见过这样的事情吗?

标签: phpphpunit

解决方案


看来您混合了不同的 PHPUnit 安装(因为PHPUnit_Framework_TestListener已经存在很长时间了,当然在 PHPUnit 8.5 中也不存在)。

例如,您可能使用 Composer 安装 PHPUnit,并将 Composer 生成的自动加载器配置为 PHPUnit 的引导脚本,但随后您使用除vendor/bin/phpunit.


推荐阅读