2013-09-17 2 views
0
  1. Я получаю phpunit и устанавливаю его как this link, используя простейший способ для тестирования. Я просто скачал файл phpunit.phar, chmod & переименовать & переместить в/usr/local/bin Затем я запускаю phpunit --version, его нормально.phpunit running exception при запуске очень простого модульного теста

  2. Я пишу простой тестовый пример php.

    class SimpleTest extends PHPUnit_Framework_TestCase { 
        public function testSomething(){ 
         $this -> assertTrue(true); 
        } 
    } 
    
  3. В терминале, я иду в папку класса PHP и выполнить

    phpunit --colors SimpleTest 
    
  4. Теперь я получил исключения

    PHP ReflectionException: Method suite does not exist 
    in phar:///usr/local/bin/phpunit/phpunit/Runner/BaseTestRunner.php on line 113 
    
    PHP Stack trace: 
    PHP 1. {main}() /usr/local/bin/phpunit:0 
    
    PHP 2. PHPUnit_TextUI_Command::main($exit = *uninitialized*) 
         /usr/local/bin/phpunit:612 
    
    PHP 3. PHPUnit_TextUI_Command->run($argv = array (
         0 => '/usr/local/bin/phpunit', 
         1 => '--colors', 
         2 => 'SimpleTest.php'), 
         $exit = TRUE) 
         phar:///usr/local/bin/phpunit/phpunit/TextUI/Command.php:129 
    
    
    PHP 4. PHPUnit_Runner_BaseTestRunner->getTest(
         $suiteClassName = 'SimpleTest', 
         $suiteClassFile = '/home/kevin/Workspace/php/laravel/app/tests/SimpleTest.php', 
         $suffixes = array (0 => 'Test.php', 1 => '.phpt')) 
         phar:///usr/local/bin/phpunit/phpunit/TextUI/Command.php:150 
    
    PHP 5. ReflectionClass->getMethod('suite')  
    phar:///usr/local/bin/phpunit/phpunit/Runner/BaseTestRunner.php:113 
    
    PHPUnit 3.7.27 by Sebastian Bergmann. 
    

Все приветствуется, спасибо.

+1

Небольшое предложение; берите его без цветов - просто чтобы быть уверенным. И: расширьте класс 'TestCase'. –

ответ

1

Похоже, эта ошибка исходит из настройки xdebug.

Решение, как представляется, добавив следующую строку в файл php.ini (или изменение существующего значения 0):

xdebug.show_exception_trace = 0 

Посмотрите на PHPUnit ReflectionException Method suite does not exist и Why does PHPUnit hide my xdebug backtrace? для получения дополнительной информации.

+0

Спасибо J.T. да, я отключу эту конфигурацию, теперь никаких исключений. – diligent

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