2012-02-25 1 views
1

В командная_строка все в норме:PHPUnit 3.6.10 + NetBeans 7.1: Хороший тест бросками исключение

d:\xampp\htdocs\PhpProject1\Tests>phpunit TestStub.php 
PHPUnit 3.6.10 by Sebastian Bergmann. 

. 

Time: 0 seconds, Memory: 2.75Mb 

OK (1 test, 1 assertion) 

Названный в NetBeans7.1:

Fatal error: Uncaught exception 'PHPUnit_Framework_Exception' with message 'Could not find class "" in "D:\Program Files (x86)\NetBeans 7.1\php\phpunit\NetBeansSuite.php".' in D:\xampp\php\PEAR\PHPUnit\Util\Skeleton\Test.php:123 
Stack trace: 
0 D:\xampp\php\PEAR\PHPUnit\TextUI\Command.php(157): PHPUnit_Util_Skeleton_Test->__construct('', 'D:\Program File...') 
1 D:\xampp\php\PEAR\PHPUnit\TextUI\Command.php(130): PHPUnit_TextUI_Command->run(Array, true) 
2 D:\xampp\php\phpunit(46): PHPUnit_TextUI_Command::main() 
3 {main} 
thrown in D:\xampp\php\PEAR\PHPUnit\Util\Skeleton\Test.php on line 123 

Я думаю, что это проблема NetBeans. Если я бегу:

d:\Program Files (x86)\NetBeans 7.1\php\phpunit>phpunit NetBeansSuite.php run=d:\xampp\htdocs\PhpProject1\Tests\TestStub.php 
PHPUnit 3.6.10 by Sebastian Bergmann. 

. 

Time: 0 seconds, Memory: 2.75Mb 

OK (1 test, 1 assertion) 

Это нормально. Но если я дам тестовый каталог, он терпит неудачу.

d:\Program Files (x86)\NetBeans 7.1\php\phpunit>phpunit NetBeansSuite.php run=d:\xampp\htdocs\PhpProject1\Tests\ 

Fatal error: Uncaught exception 'PHPUnit_Framework_Exception' with message 'Could not find class "" in "D:\Program Files (x86)\NetBeans 7.1\php\phpunit\NetBea 
nsSuite.php".' in D:\xampp\php\PEAR\PHPUnit\Util\Skeleton\Test.php:123 
Stack trace: 
0 D:\xampp\php\PEAR\PHPUnit\TextUI\Command.php(157): PHPUnit_Util_Skeleton_Test->__construct('', 'D:\Program File...') 
1 D:\xampp\php\PEAR\PHPUnit\TextUI\Command.php(130): PHPUnit_TextUI_Command->run(Array, true) 
2 D:\xampp\php\phpunit(46): PHPUnit_TextUI_Command::main() 
3 {main} 
thrown in D:\xampp\php\PEAR\PHPUnit\Util\Skeleton\Test.php on line 123 

Любое временное решение?

+0

Grr .. строка 118 в "d: \ Program Files (x86) \ NetBeans 7.1 \ php \ phpunit \ NetBeansSuite.php" показывает решение 'return self :: rglob (" * [Tt] est.php " , $ run.DIRECTORY_SEPARATOR); ' Тестирование имени файла должно быть закончено ... Test.php – shuttle

+1

Указывали ли вы NetBeans на ваши файлы' bootstrap.php' и/или 'phpunit.xml'? –

+0

Я лично обнаружил, что поддержка PHPUnit в NetBeans в лучшем случае проблематична и отбросила ее в пользу запуска модульных тестов в командной строке. – Hades

ответ

3

При запуске PHPUnit для одного файла он всегда будет открывать файл и искать внутри него тестовый файл.

При работе с каталогом (что делает netbeans) он будет искать только файлы, которые заканчиваются на *Test.php (если в phpunit.xml ничего не указано).

Если он не может найти какие-либо тесты, он будет пытаться заглянуть в $TestSuiteName папки и файлы {$TestSuiteName}.php отсюда сообщение об ошибке:

Fatal error: Uncaught exception 'PHPUnit_Framework_Exception' with message 'Could not find class ""

как он ищет «не назвали» тесты в netbeans phpunit harness. Сообщение об ошибке на самом деле вам не помогает :)

Общее предложение было бы создать phpunit.xml и указать Netbeans на него.

В более личном примечании: от поддержки phpunit в основных IDE Netbeans делает много вещей правильно и хорошо работает для многих людей, поэтому не позволяйте этому удару препятствовать вам использовать его из среды IDE, если это то, что ты хочешь.

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

  • Нет связанных вопросов^_^