Unit testing follows the mantra that “the same input always should generate the same output.” But what if some developers on a team have different PHP configurations, or maybe one uses Windows and the other one Mac OS X? Does that qualify as “same input”? It should, but to be sure we can run PHPUnit tests on a remote server or a Vagrant box, always running tests in the same environment. In PhpStorm 7, the PHPUnit on Server feature has been significantly reworked.
Support for PHPUnit 3.7: PHPUnit on Server now supports tests written for PHPUnit version higher than 3.3 . The IDE will automatically detect the PHPUnit version used when running tests and capture their results.
Configuration using XML: When running PHPUnit on a remote server, now it is also possible to specify an XML configuration file. This file can specify tests to be run as well as provide the test runner with additional options such as test behavior, timeouts, autoloaders and so on. See the PHPUnit documentation for more information about available options:
Disable automatic upload of tests: When automatic deployment in a project is enabled, files are uploaded on every save. Uploading tests isn’t needed in this case, as they are already there!
Automatic uploading of tests can be disabled from the Remote tab, reducing the time to upload tests to the server to zero.
Specify groups of tests to include/exclude from the test run. From the Test Groups tab, we can now select specific groups of tests we want to run or skip during the remote test run. For example, we can limit our test run to only include tests that belong to our business logic. Or maybe run only integration tests:
Want to add a test to a group? Tests can be tagged as belonging to one or more groups using the @group annotation:
Develop with pleasure!
– JetBrains PhpStorm Team