I'm at my wit's end. I must have read every SO question on the same topic, but no joy.

I can't get phpUnit working properly. I've successfully installed phpUnit and it's dependencies using PEAR. I've also modified my php.ini file and added the path to phpUnit to the include path: (".:/php/includes:usr/lib/php/pear").

To test phpunit is working, I've copied this simple class, so MyClassTest.php is as follows:

class MyClassTest extends PHPUnit_Framework_TestCase
{
    public function testCalculate()
    {
        $this->assertEquals(2, 1 + 1);
    }
}

Running "phpunit MyClassTest" produces the following output: (running "phpunit MyTestClass MyTestClass.php" produces the same result);

class MyClassTest extends PHPUnit_Framework_TestCase
{
    public function testCalculate()
    {
        $this->assertEquals(2, 1 + 1);
    }
}
PHPUnit 3.7.13 by Sebastian Bergmann.

Class 'MyClassTest' could not be found in 'MyClassTest.php'.

I can't think what's wrong. I've tried uninstalling and reinstalling phpunit/PHPUnit, but no joy. Can you identify what's wrong? If you need any more info, let me know and I'll edit this post. Thanks in advance.

  • PHP 5.3.15
  • PHPUnit 3.7.13
  • OSX 10.8.2
Answer

Your source code gets printed to the console, so it seems like you forgot <?php at the beginning.

  • 14
Reply Report
      • 1
    • I edited the answer after realizing that PHPUnit comes with an autoloader in newer versions and the require statement is not necessary anymore. But @Mark Baker gave an important hint in the comments.
    • I have just spotted, that you must use full form of PHP starting tags, so short tags doesn't work. - doesn't work - does work

Warm tip !!!

This article is reproduced from Stack Exchange / Stack Overflow, please click

Trending Tags

Related Questions