I had problems with configuring PhpStorm IDE to use http://symfony.com/doc/current/components/phpunit_bridge.html while working with Symfony 3.3.
I decided to just download
bin and use it instead.
Symfony 3.4 (and Symfony 4), does not even have
phpunit.xml.dist out of the box, so there is a problem with using
I've installed PHPUnit using flex:
composer req phpunit
That created phpunit.xml.dist and I was able to run tests from command line by:
But again I could not make PhpStorm use it.
So I downloaded
phpunit.phar and it can work together with provided phpunit.xml.dist.
Question 1: Is there any way for PhpStorm IDE to use phpunit-bridge?
Question 2: What is the best practice for Symfony 4 (phpunit-bridge or vanilla phpunit.phar)?
What I usually do is point my phpunit testing framework on PHPStorm to the secret
.phpunitdirectory which was created by the bridge, like:
The location of the "phar" file is:
or in some cases:
After this, the specified
phpunitexecutable will be called correctly when exeuting unit-tests, but with a
--no-configurationoption. This can cause autoloading problems (a lot of "class not found" errors), because the autoloader generated by Composer is not specified anywhere.
To fix this, you should have a
phpunit.xmlfile in your project (this is common practice anyway), in which you specify Composer's autoloader, something like this:
phpunit.xmlshould then be specified in the "Default configuration file" option and you should be good to go.
Regarding phpstorm using phpunit-bridge: It's possible as a custom script, but you won't have the nice interface and the possibility to run (and debug) specific tests via PHPStorm interface.