Attention

TYPO3 v10 has reached end-of-life as of April 30th 2023 and is no longer being maintained. Use the version switcher on the top left of this page to select documentation for a supported version of TYPO3.

Need more time before upgrading? You can purchase Extended Long Term Support (ELTS) for TYPO3 v10 here: TYPO3 ELTS.

Unit Tests

Unit Test Files

Unit test files are located in the "Tests/Unit/" folder of the according extension, within a sub-structure matching the structure in the Classes/ folder.

As naming convention, Test is appended at the end of the name. As example, the unit test class file for typo3/sysext/core/Classes/Database/PreparedStatement.php located at typo3/sysext/core/Tests/Unit/Database/PreparedStatementTest.php.

Using Unit Tests

Although the coverage is far from complete, there are already quite a lot of unit tests for the TYPO3 Core. Anytime something is changed in the Core, all existing unit tests are run to ensure that nothing is broken.

Adding Unit Tests

The use of unit tests is strongly encouraged. Every time a new feature is introduced or an existing one is modified, a unit test should be added.

Conventions for Unit Tests

Unit tests should be as concise as possible. Since the setUp() and tearDown() methods always have the same responsibility, these methods do not need a documentation block.

Since unit tests never return anything, they do not need an @return tag.