首页 > 解决方案 > Symfony 5 Phpunit 未定义方法

问题描述

我正在使用 Symfony 5,并使用文档composer require --dev symfony/phpunit-bridge中包含的命令安装了 phpunit-bridge :。

当我使用此命令运行 phpunit 时php bin/phpunit,出现此错误:

PHP 致命错误:未捕获的错误:调用未定义的方法 PHPUnit\TextUI\TestRunner::doRun()

标签: symfonyphpunit

解决方案


我会尝试猜测。

您还有一个类似liip/functional-test-bundle或其他的捆绑包,它们在需求中需要 PHPUnit(或者甚至您需要 PHPUnit 直接在您的composer.jsonwith 中phpunit-bridge)。

结果,您在项目中安装了两个不同版本的 PHPUnit,具有两个不同的 api。

如果安装liip/functional-test-bundle是您的情况并且您不想删除它,则需要通过桥安装与 Liip 捆绑包依赖项安装的相同 PHPUnit 版本。您可以通过SYMFONY_PHPUNIT_VERSIONenv 变量或直接在bin/phpunit文件中设置版本。或者您可以通过SYMFONY_PHPUNIT_DIRenv 或直接在bin/phpunit.

注意:您不能设置SYMFONY_PHPUNIT_VERSIONSYMFONY_PHPUNIT_DIR通过 .env.* 文件,因为bin/phpunit不读取此文件。所以它应该是真正的环境变量。


推荐阅读