Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Error when I try run PHPUnit from PhpStorm

I have little problem when I'm trying to run PHPUnit test in IDE PhpStorm.

I use composer file which looks:

{
    "require": {
        "phpunit/phpunit": "3.7.19"
    }
}

Now when I run test I recive exception: PHP Fatal error: Uncaught exception 'PHPUnit_Framework_Exception' with message 'Class "PHPUnit_Extensions_RepeatedTest" does not extend PHPUnit_Framework_TestCase.'

What is wrong? When I included pear installed version test working OK.

//EDIT Sample test class:

 class ReaderTest extends PHPUnit_Framework_TestCase
    {
        /**
         * @test
         */
        public function shouldGetReadedValue ()
        {
            $this->assertTrue(true);
        }
    }

//EDIT2 Trace:

/usr/bin/php /tmp/ide-phpunit.php --no-configuration /path/to/my/project
Testing started at 14:53 ...
PHP Fatal error:  Uncaught exception 'PHPUnit_Framework_Exception' with message 'Class "PHPUnit_Extensions_RepeatedTest" does not extend PHPUnit_Framework_TestCase.' in /path/to/my/project/vendor/phpunit/phpunit/PHPUnit/Framework/TestSuite.php:183
Stack trace:
#0 /path/to/my/project/vendor/phpunit/phpunit/PHPUnit/Framework/TestSuite.php(315): PHPUnit_Framework_TestSuite->__construct(Object(ReflectionClass))
#1 /path/to/my/project/vendor/phpunit/phpunit/PHPUnit/Framework/TestSuite.php(389): PHPUnit_Framework_TestSuite->addTestSuite(Object(ReflectionClass))
#2 /path/to/my/project/vendor/phpunit/phpunit/PHPUnit/Framework/TestSuite.php(416): PHPUnit_Framework_TestSuite->addTestFile('/var/www/php-sh...')
#3 /path/to/my/project/vendor/phpunit/phpunit/PHPUnit/Runner/BaseTestRunner.php(96): PHPUnit_Framework_TestSuite->addTestFiles(Array)
#4 /path/to/my/project/vendor/phpunit/phpunit/PHPUnit/TextUI/Command.php(150): PHPUnit_Runner_BaseTestRunner->getTest('/var/www/php-sh...', '', A in /path/to/my/project/vendor/phpunit/phpunit/PHPUnit/Framework/TestSuite.php on line 183

Process finished with exit code 255
like image 670
Piotr Olaszewski Avatar asked Apr 12 '13 12:04

Piotr Olaszewski


People also ask

How do I run a test case in Phpstorm?

Create a test configuration Open the Run/Debug Configuration dialog by doing one of the following: From the list on the main toolbar, select Run | Edit Configurations. From the main menu, select Run | Edit Configurations. Press Alt+Shift+F10 and select Edit Configuration from the context menu.


2 Answers

I found solution about this problem.

In Edit configurations in directory I set path to my tests catalog (/path/to/my/project/tests), after this tests are running properly.

like image 106
Piotr Olaszewski Avatar answered Oct 22 '22 05:10

Piotr Olaszewski


This is what worked for me, thanks to Piotr's answer above, but I'm providing with a bit more exact detail here all the steps I had to do:

Steps to make it work (test in PHPStorm 8.0.1):

1) In Preferences > PHP > PHPUnit make sure that nothing is set for Default configuration file or default bootstrap file.

2) Make a custom PHPUnit Configuration via Run > Edit Configurations > in the Command Line subsection, and be sure to:

a) set Custom working directory: to be /absolute/path/to/vendor.

b) check "Use alternative configuration file:" and set it to /absolute/path/to/vendor/your_app/(sub_app_if_applicable)/phpunit.xml.dist

Then you can run any test class in the suite by specifying the class and file, or just check "Defined in the configuration file" to run all of them according to the config.

like image 21
CommaToast Avatar answered Oct 22 '22 06:10

CommaToast