Reputation: 3264
I want use phpunit tests on my local maschine running OSX 10.8.4 and MAMP Pro with PHP 5.4.1. Further I want use it for Yii and my IDE Netbeans.
I read a few tutorials like this approach via pear or this one via composer. I even tried to look like ppl do it on windows - without success.
My approaches always resulted in errors like
PHP Warning: include(): Failed opening 'PHP_Invoker.php'
PHP Warning: include(): Failed opening 'PHPUnit_Extensions_Database_TestCase.php'
PHP Warning: include(): Failed opening 'PHPUnit_Extensions_Story_TestCase.php'
Failed opening required 'PHPUnit/Extensions/SeleniumTestCase.php'
PHP Fatal error: Class 'CTestCase' not found
or phpunit wasn't found at all.
Upvotes: 2
Views: 2325
Reputation: 3264
But finally I found a tutorial that gave me a good start. And with a little bit more research, I found solutions for the problems I posted above too.
Here I just want share my steps and all the links you can go thru to get it run :)
First step is to follow Zank's tutorial.
But after I did his steps, I got several errors. Because the list of modules you have to install is not complete. This ended up in following errors when I tried to run a test:
PHP Warning: include(): Failed opening 'PHP_Invoker.php'
PHP Warning: include(): Failed opening 'PHPUnit_Extensions_Database_TestCase.php'
PHP Warning: include(): Failed opening 'PHPUnit_Extensions_Story_TestCase.php'
Second step
So I googled and figured out that I have to do following lines too:
pear install phpunit/PHPUnit_Story
pear install phpunit/DbUnit
But the 'invoker' problem was not that easy. Because when you try
pear install phpunit/PHP_Invoker
it will result in an error like
phpunit/PHP_Invoker requires PHP extension "pcntl"
and to install this extension to MAMP is a pain in the ass. But I found here this solution:
- went to pear.phpunit.de
- manually downloaded PHP_Invoker utility class
- unzipped the file on my daughter's mac (I'm running Windows)
- put the "Invoker" directory under C:\xampp\php\pear\PHP
- put the "Invoker.php" file under C:\xampp\php\pear\PHP
For your MAMP installation the path should be something like "/Applications/MAMP/bin/php/php5.4.10/lib" - further I had to rename 'Invoker.php' to 'PHP_Invoker.php'.
Step Three
On command line everything should work now - write a test and try it out like in Zank's tutorial linked in step one. But what about Netbeans? Like in Zank's tutorial I entered the phpunit path and just right clicked one of my tests and selected "Run test" - error!
PHP Fatal error: Class 'CTestCase' not found
Solution can be found here. This happens when you do not right click the folder where the 'phpunit.xml' is in. But to avoid this you could do the following:
That's it!
Here are some links that are interessting too:
Upvotes: 5