3

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!

3
  • Can you paste the contents of the Slim and tests folders? Commented Sep 1, 2011 at 22:49
  • Works for me. What PHPUnit version is that? Commented Sep 2, 2011 at 12:29
  • It's PHPUnit v3.5.15. I will edit the question to include the contents of the folders. Thanks! Commented Sep 7, 2011 at 6:31

2 Answers 2

2

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
Sign up to request clarification or add additional context in comments.

3 Comments

Thanks! I've added the directory contents but unfortunately there isn't a phpunit.xml or a bootstrap.php in the tests folder. Any ideas? The Slim docs say all I need to run is phpunit tests from within the Slim directory...
Did you try the above commands to run from within the tests directory?
I did, yes, but it just fails :(
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.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.