# Phpunit ## Setup Requirements for running the php unittests: - `make bootstrap` was executed - The following files exist at the same location (either `extension/` or `typo3conf/`): * `config.qfq.php` * `LocalConfiguration.php` - The database credentials in `config.qfq.php` are correct - The database with the name `DB_1_NAME` followed by `_phpunit` exists. E.g. `app_qfq_phpunit` where `DB_1_NAME=app_qfq` In Tests/Unit/ you may find a mockup of `LocalConfiguration.php` and a template for `config.qfq.php`. ## Run unit tests from commandline REMARK: Running the unit tests without specifying the configuration file `phpunit.xml` will not work. See section "Autoloader" for explanation. From the extension folder run: `vendor/bin/phpunit --configuration phpunit.xml` ## Phpunit configurations Phpunit configurations are stored in extension/phpunit.xml Running the tests without specifying these configurations will not work. ## Autoloader The test classes use the composer autoloader to reference to the source classes. The autoloader is loaded by phpunit before each test as specified in phpunit.xml by the line `<phpunit bootstrap="vendor/autoload.php">` ## Run tests without typo3 installation (e.g. gitlab runner) As defined in the phpunit command of projectRoot/Makefile. The files phpunit_config.qfq.php and phpunit_LocalConfiguration.php are copied outside the extension folder by the Makefile.