Loading...
 
Skip to main content

Tiki Unit Testing with PhpStorm

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:

Copy to clipboard
# 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


Image

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".

Image

Click Run or Debug on the Toolbar


Image

Debugging

If a debugger is properly setup, using Debug should allow to debug tests. However, Debug is poor/broken with PHPUnitQuestion. 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.

Show PHP error messages