Как запустить тесты со структурой каталогов в phpunit? - PullRequest
3 голосов
/ 02 сентября 2011

Документы PHPUnit говорят, что я могу поместить все свои тесты в папку и запустить phpunit в папке, чтобы выполнить их все за один раз:

http://www.phpunit.de/manual/current/en/organizing-tests.html

Но когда я примеряю свою раздвоенную копию Slim (https://github.com/codeguy/Slim), она не работает! Я установил PHPUnit через PEAR, поэтому не думаю, что в этом есть что-то странное.

Вот вывод:

mark@ubuntu:/project/submodules/Slim$ phpunit tests     
PHP Fatal error:  Uncaught exception 'PHPUnit_Framework_Exception' with message 'Neither "tests.php" nor "tests.php" could be opened.' in /usr/share/php/PHPUnit/Util/Skeleton/Test.php:102
Stack trace:
#0 /usr/share/php/PHPUnit/TextUI/Command.php(157): PHPUnit_Util_Skeleton_Test->__construct('tests', '')
#1 /usr/share/php/PHPUnit/TextUI/Command.php(129): PHPUnit_TextUI_Command->run(Array, true)
#2 /usr/bin/phpunit(49): PHPUnit_TextUI_Command::main()
#3 {main}
  thrown in /usr/share/php/PHPUnit/Util/Skeleton/Test.php on line 102

Есть идеи, что я делаю не так?

-EDIT-

Я использую PHPUnit 3.5.15.

Вот содержимое каталогов Slim и tests:

mark@ubuntu:/project/submodules/Slim$ ls -l 
total 20
-rw-r--r-- 1 mark mark 4320 Aug 23 14:41 README.markdown
drwxr-xr-x 1 mark mark  408 Aug 24 02:39 Slim
-rw-r--r-- 1 mark mark 6993 Aug 23 14:41 index.php
-rw-r--r-- 1 mark mark 1398 Aug 23 14:41 logo.png
drwxr-xr-x 1 mark mark  476 Aug 23 14:41 tests
mark@ubuntu:/project/submodules/Slim$ ls -l tests
total 104
-rw-r--r-- 1 mark mark    73 Aug 23 14:41 Foo.php
drwxr-xr-x 1 mark mark   204 Aug 23 14:41 Http
-rw-r--r-- 1 mark mark  4398 Aug 23 14:41 LogTest.php
-rw-r--r-- 1 mark mark  5088 Aug 23 14:41 LoggerTest.php
-rw-r--r-- 1 mark mark   734 Aug 23 14:41 README
-rw-r--r-- 1 mark mark 11115 Aug 23 14:41 RouteTest.php
-rw-r--r-- 1 mark mark 10327 Aug 23 14:41 RouterTest.php
drwxr-xr-x 1 mark mark   102 Aug 23 14:41 Session
-rw-r--r-- 1 mark mark 47703 Aug 23 14:41 SlimTest.php
-rw-r--r-- 1 mark mark  6447 Aug 23 14:41 ViewTest.php
drwxr-xr-x 1 mark mark   102 Aug 23 14:41 logs
drwxr-xr-x 1 mark mark   102 Aug 23 14:41 templates

Я буквально разветвлял Слима и клонировал его, ничего особенного!

Ответы [ 2 ]

2 голосов
/ 10 сентября 2011

Оказывается, эта ошибка возникает при указании папки, но в папке нет файлов, соответствующих шаблону *Test.php.

Однако это НЕ моя проблема. Я запускаю тесты из общей папки внутри виртуальной машины Ubuntu, используя VirtualBox. Это не очень хорошо работает с PHPUnit, по-видимому. Или это может быть PHP. В любом случае, это неправильно, потому что, когда я перемещаю папку в папку общего доступа внутри виртуальной машины, она работает просто отлично.

Редактировать

Я запускал VirtualBox 4.1.0, у которого, очевидно, есть эта проблема. Обновление до 4.1.2 исправлено, и теперь все работает нормально. Спасибо всем за помощь.

2 голосов
/ 02 сентября 2011

Обычно вы запускаете команду phpunit внутри любой папки, содержащей phpunit.xml и / или bootstrap.php. Я предполагаю, что они находятся внутри папки tests.

.../Slim$ cd tests
.../Slim/tests$ phpunit
...