Pergunta

The PHPUnit docs say that I can shove all my tests into a folder and run phpunit on the folder to execute them all in one go:

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

But when I try on my forked copy of Slim (https://github.com/codeguy/Slim) it doesn't work! I have installed PHPUnit via PEAR so I don't think there's anything odd about it.

Here's the output:

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

Any ideas what I'm doing wrong?

-EDIT-

I'm using PHPUnit 3.5.15.

Here are the contents of the directories Slim and 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

I've literally just forked Slim and cloned it, nothing fancy!

Foi útil?

Solução 2

It turns out that this error is what you see when you specify a folder but the folder doesn't contain any files that match the pattern *Test.php.

This is NOT my problem, however. I'm running the tests from within a shared folder inside an Ubuntu VM using VirtualBox. This doesn't play well with PHPUnit, apparently. Or it might be PHP. Either way, it's incorrectly erroring because when I move the folder into a non-shared location inside the VM it works just fine.

Edit

I was running VirtualBox 4.1.0 which apparently has this problem. Upgrading to 4.1.2 fixed it and everything is running fine now. Thanks to everyone for their help.

Outras dicas

Normally you issue the phpunit command inside whichever folder contains phpunit.xml and/or bootstrap.php. My guess is that these are located inside the tests folder.

.../Slim$ cd tests
.../Slim/tests$ phpunit
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top