laravel PHPunit未捕获错误:调用未定义的方法PHPUnit_Util_Configuration::getTestdoxGroupConfiguration()

ars1skjm  于 2023-05-19  发布在  PHP
关注(0)|答案(7)|浏览(127)

不知道是不是和Laravel 5.4有关。当我在安装laravel 5.4后运行phpunit命令而不做任何更改时,我得到Uncaught Error: Call to undefined method PHPUnit_Util_Configuration::getTestdoxGroupConfiguration(),但当我运行php artisan dusk时,它正常运行

c:\xampp\htdocs\ublocker>phpunit
PHP Fatal error:  Uncaught Error: Call to undefined method
PHPUnit_Util_Configuration::getTestdoxGroupConfiguration() in C:\xampp\htdocs\ublocker\vendor\phpunit\phpunit\src\TextUI\TestRunner.php:1046
Stack trace:
#0 C:\xampp\htdocs\ublocker\vendor\phpunit\phpunit\src\TextUI\TestRunner.php(167): PHPUnit_TextUI_TestRunner->handleConfiguration(Array)
#1 C:\xampp\php\pear\PHPUnit\TextUI\Command.php(176): PHPUnit_TextUI_TestRunner->doRun(Object(PHPUnit_Framework_TestSuite), Array)
#2 C:\xampp\php\pear\PHPUnit\TextUI\Command.php(129): PHPUnit_TextUI_Command->run(Array, true)
#3 C:\xampp\php\phpunit(46): PHPUnit_TextUI_Command::main()
#4 {main}
thrown in C:\xampp\htdocs\ublocker\vendor\phpunit\phpunit\src\TextUI\TestRunner.php on line 1046

Fatal error: Uncaught Error: Call to undefined method PHPUnit_Util_Configuration::getTestdoxGroupConfiguration() in C:\xampp\htdocs\ublocker\vendor\phpunit\phpunit\src\TextUI\TestRunner.php:1046
Stack trace:
 C:\xampp\htdocs\ublocker\vendor\phpunit\phpunit\src\TextUI\TestRunner.php(167): PHPUnit_TextUI_TestRunner->handleConfiguration(Array)
C:\xampp\php\pear\PHPUnit\TextUI\Command.php(176): PHPUnit_TextUI_TestRunner->doRun(Object(PHPUnit_Framework_TestSuite), Array)
C:\xampp\php\pear\PHPUnit\TextUI\Command.php(129): PHPUnit_TextUI_Command->run(Array, true)
C:\xampp\php\phpunit(46): PHPUnit_TextUI_Command::main()
{main}
thrown in C:\xampp\htdocs\ublocker\vendor\phpunit\phpunit\src\TextUI\TestRunner.php on line 1046

c:\xampp\htdocs\ublocker>phpunit
PHP Fatal error:  Uncaught Error: Call to undefined method PHPUnit_Util_Configuration::getTestdoxGroupConfiguration() in C:\xampp\htdocs\ublocker\vendor\phpunit\phpunit\src\TextUI\TestRunner.php:1046
Stack trace:
#0 C:\xampp\htdocs\ublocker\vendor\phpunit\phpunit\src\TextUI\TestRunner.php(167): PHPUnit_TextUI_TestRunner->handleConfiguration(Array)
#1 C:\xampp\php\pear\PHPUnit\TextUI\Command.php(176): PHPUnit_TextUI_TestRunner->doRun(Object(PHPUnit_Framework_TestSuite), Array)
#2 C:\xampp\php\pear\PHPUnit\TextUI\Command.php(129): PHPUnit_TextUI_Command->run(Array, true)
#3 C:\xampp\php\phpunit(46): PHPUnit_TextUI_Command::main()
#4 {main}
thrown in C:\xampp\htdocs\ublocker\vendor\phpunit\phpunit\src\TextUI\TestRunner.php on line 1046

Fatal error: Uncaught Error: Call to undefined method PHPUnit_Util_Configuration::getTestdoxGroupConfiguration() in C:\xampp\htdocs\ublocker\vendor\phpunit\phpunit\src\TextUI\TestRunner.php:1046
Stack trace:
#0    C:\xampp\htdocs\ublocker\vendor\phpunit\phpunit\src\TextUI\TestRunner.php(167): PHPUnit_TextUI_TestRunner->handleConfiguration(Array)
#1 C:\xampp\php\pear\PHPUnit\TextUI\Command.php(176): PHPUnit_TextUI_TestRunner->doRun(Object(PHPUnit_Framework_TestSuite), Array)
#2 C:\xampp\php\pear\PHPUnit\TextUI\Command.php(129): PHPUnit_TextUI_Command->run(Array, true)
#3 C:\xampp\php\phpunit(46): PHPUnit_TextUI_Command::main()
#4 {main}
thrown in C:\xampp\htdocs\ublocker\vendor\phpunit\phpunit\src\TextUI\TestRunner.php on line 1046

c:\xampp\htdocs\ublocker>php artisan dusk
PHPUnit 5.7.7 by Sebastian Bergmann and contributors.

F.                                                                  2 / 2 (100%)

有办法解决吗

6l7fqoea

6l7fqoea1#

似乎您的全局安装版本不符合最低要求的版本。试着跑

phpunit --version

我打赌你会得到一些像5.1php artisan dusk命令使用位于vendor/bin/phpunit中的不同版本。你也可以使用这个版本。只需键入:

vendor/bin/phpunit

而不是phpunit。你必须升级你的phpunit版本,如果它工作。

koaltpgm

koaltpgm2#

在我的例子中,下面的命令在windows环境下工作,用\代替/

vendor\bin\phpunit
w6mmgewl

w6mmgewl3#

我在Laravel 5.4中遇到了同样的问题。以下为我工作:
步骤1:更新您的composer依赖项:

composer update

第2步:运行phpunit

vendor/bin/phpunit

您可以通过指定以下文件来运行特定测试:

vendor/bin/phpunit tests/Feature/ExampleTest.php
drnojrws

drnojrws4#

我也有同样的问题,通过这一步解决了:

检查diff版本

$ phpunit --version
PHPUnit 6.5.5 by Sebastian Bergmann and contributors.

$ ./vendor/bin/phpunit --version
PHPUnit 8.3.5 by Sebastian Bergmann and contributors.

更新全局phpunit:

如果版本不等于更新phpunit与

composer global require phpunit/phpunit:^8

重新检查版本

$ phpunit --version
PHPUnit 8.3.5 by Sebastian Bergmann and contributors.

$ ./vendor/bin/phpunit --version
PHPUnit 8.3.5 by Sebastian Bergmann and contributors.
x9ybnkn6

x9ybnkn65#

对于任何正在经历这种情况的人来说,vendor/bin/phpunit肯定能工作,但你可能想把这一行添加到你的.bashrc或.bash_profile或任何方便的地方。

PATH="./vendor/bin:$PATH"

*仅在Linux上测试

bsxbgnwa

bsxbgnwa6#

我有同样的错误与宅基地laravel 5.6当我运行phpunit命令从我的用户它是工作正常,但当我运行它的sudo我得到了这个错误。尝试运行这个命令从你的用户不是sudo也许它的工作为您太

wwtsj6pe

wwtsj6pe7#

一个解决方案是将vendor/bin添加到路径的开头。在运行bash的Unix等操作系统上,您可以将以下内容添加到.bashrc文件的末尾:

export PATH=vendor/bin:$PATH

在Windows 10中,您可以通过访问系统属性高级选项卡并单击 * 环境变量... * 按钮来访问您的Path环境变量。
无论哪种方式,在路径的前面插入vendor/bin都会导致操作系统在./vendor/bin中查找phpunit。如果你在laravel项目的根目录下,它会找到Laravel包含的可执行文件。如果没有,它将继续使用全局版本。

相关问题