Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cannot find PHPUnit in include path phpstorm

Tags:

php

phpstorm

Cannot find PHPUnit in include path is the error message I get when I try to run my code in phpstorm.

In the PHP Settings, my PHP level language is 5.4 (traits, short array syntax, etc.) and interpreter is Name(5.4.7) where Name is user defined.

The error appears when I try to run the code and the exact message is this:

C:\xampp2\php\php.exe C:\Users\DELL\AppData\Local\Temp\ide-phpunit.php --no-configuration

C:\xampp2\htdocs\ft-website

Testing started at 2:34 PM ...

Process finished with exit code 1

Cannot find PHPUnit in include path (.;C:\xampp2\php\PEAR)`

like image 762
Newtt Avatar asked Aug 19 '13 09:08

Newtt


2 Answers

Just encountered this problem myself.

I'm unsure why it is unable to find PHPUnit in the include path (despite the fact that it is there, albeit in all lowercase).

I got around this by changing my IntelliJ Preferences for PHPUnit (under PHP --> PHPUnit). I changed the PHPUnit library settings to Use custom loader and then specified the path to the phpunit executable. On my mac, that was /usr/local/Cellar/php54/5.4.26/bin/phpunit.

UPDATE:

I just discovered that pear now installs PHPUnit as a phar named phpunit. It previously installed the PHPUnit source, which was really nice for reference and code completion in PHPStorm. I think that this is the reason things aren't working any longer with PHPStorm, because it's expecting a php executable and not a php archive.

So, I'm moving away from using pear to install PHPUnit, and I'm using composer instead. This bundles PHPUnit directly as a dependency of my project, which makes it more portable than a system dependency. You'll need to add vendor/phpunit/phpunit as a PHP include path in your PHPStorm preferences. This will serve two purposes:

  1. PHPStorm can find the phpunit executable now
  2. PHPStorm will index all the PHPUnit classes now, so you'll get auto-complete. Yay!

To do this, go to Languages and Frameworks in the PhpStorm settings. If you click on PHP, on the right you have your include paths

like image 188
Ben Avatar answered Nov 15 '22 23:11

Ben


I had this problem after adding PHPUnit via composer.

I fixed this by choosing use custom autoloader in Settings -> Languages and Frameworks -> PHP -> PHPUnit, then adding /vendor/autoload.php as the location of the custom autoloader.

like image 24
Matt Gibson Avatar answered Nov 15 '22 23:11

Matt Gibson