Autodetecting Test Frameworks

Posted on by

PhpStorm supports PHPUnit, Codeception, Behat, and PHPSpec test frameworks out of the box. Previously, to enable integration with them, you needed to perform two steps. First, you had to set up a configuration telling PhpStorm where the corresponding library was located, and then go through and create a run configuration defining how to run it.

In PhpStorm 2018.3, the process is much simpler. Here’s all you need to do to get started with a test framework:

Declare a dependency in composer.json.

Put a configuration file under your project root. This can be behat.yml, codeception.yml, phpspec.yml, phpunit.xml, or the same file with an additional dist extension.

Then run Composer Install, and the frameworks that you specified will be automatically preconfigured under Settings / Preferences | Languages & Frameworks | PHP | Test Frameworks:

What’s more, PhpStorm will automatically create run configurations for you based on the provided configuration files:

You are now ready to run your tests, with no additional configuration required! Note, however, that this functionality is currently available only for local interpreters. If you use a remote interpreter, refer to PhpStorm Help for details on how to configure everything properly.

Your JetBrains PhpStorm Team

The Drive to Develop