-
Marc Egger authoredMarc Egger authored
Phpunit
Setup
Requirements for running the php unittests:
-
make bootstrap
was executed - The following files exist at the same location (either
extension/
ortypo3conf/
):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
whereDB_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.