Tiki Unit Testing with PhpStorm
Start by creating a test database, as explained in this section.
Dependencies
You need to install dependencies (including development packages), using composer. These packages are not installed with the basic installation (i.e., running sh setup.sh
and choosing option c). To install using composer, start in the tiki root and runf the following commands:
# move to the vendor_bundled directory first to avoid an error about not finding the composer.json file $ cd vendor_bundled $ php ../temp/composer.phar install --prefer-dist 2>&1 | sed '/Warning: Ambiguous class resolution/d'
Settings/Preferences
PHPUnit
Installing and configuring PHPUnit can be difficult. If you get an unhelpful "PHPUnit version: Not installed" error, use the controls at the right.
If you select a phar, you need to have a PHP interpreter defined. Your PHPUnit version must also be compatible with your PHP version (PHPUnit 6 is not compatible with PHP 5).
PHPUnit parameters
The lib/test/phpunit.xml configuration file needs to be used. This can be done either with the default setting as shown in the above screenshot, or per-project, in Run/Debug Configurations (not used below).
And according to kroky6, the bootstrap file should also be set (to lib/test/bootstrap.php). This can be done using the default setting as shown in the above screenshot. This could also be done per-project, in Run/Debug Configurations (not used below), but there is no specific parameter for that.
Add a Run/Debug Configurations
For each project, in Run -> Edit Configurations..., use the plus icon and select "PHPUnit".
Click Run or Debug on the Toolbar
Debugging
If a debugger is properly setup, using Debug should allow to debug tests. However, Debug is poor/broken with PHPUnit. It improperly redirects to Run automatically (so you could be under the impressions that breakpoints are ignored) and/or doesn't offer feature parity with Run, so be attentive when debugging with PHPUnit.