2017-01-24 2 views
6

Я пытаюсь писать тесты в Laravel, но я не могу даже запустить пример теста, BCS я получаю сообщение об ошибке:Laravel тестирование не определен метод

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

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

Конечно, это происходит после загрузки Laravel.

Laravel версия: 5,3 PHPUnit: 5,0

+0

У меня такая же ошибка после пакета обновления. – rahman

ответ

1

я получаю ту же ошибку, перед обновлением зависимости Laravel в Inculding PHPUnit. Обновление дает версию 5.7.6 PHPUnit вместо версии 5.6. *. Если вы используете PHPUnit вашего пути к компьютеру, он даст вам эту ошибку. Я думаю, что он будет исправлен, но на данный момент вы можете выполнить PHPUnit с двоичным кодом, включенным в ваш поставщик Composer, написав php vendor/bin/phpunit в своем корневом каталоге проекта. Для меня это работает, вы можете попробовать.

0

Как сказал @ julien-metral, версия PHPUnit, установленная глобально на вашем компьютере, старше версии, используемой в Laravel 5.4. Вы можете обновить его путем редактирования файла ~/.composer/composer.json и изменения версии phpunit/phpunit зависимостей для

"phpunit/phpunit": "~5.0", 

После этого следует запустить composer global update.

3

Если вы используете phpunit для нескольких проектов, часто проще не связываться с глобально установленным phpunit, а запускать его из папки поставщика вашего проекта.

Вы можете проверить свой проект:

composer info phpunit/phpunit 

(Если вы видите [InvalidArgumentException] Package phpunit/phpunit not found то я бы composer require phpunit/phpunit --dev)

С Laravel includes phpunit by default вы более чем вероятно, может работать

./vendor/bin/phpunit … 

, а также

composer exec 'phpunit …' 

и вы можете быть уверены, что используете версию phpunit, указанную в этом проекте composer.json.

0

Если вы находитесь в Windows. Просто создайте phpunit.bat рядом с phpunit.xml, а затем поместите этот скрипт в phpunit.bat.

ВЫЗОВ поставщик \ Bin \ PHPUnit

вот и все. Затем просто попробуйте запустить phpunit.

Смежные вопросы