.. include:: /Includes.rst.txt .. _breaking-83889: ============================================= Breaking: #83889 - E_NOTICE free unit testing ============================================= See :issue:`83889` Description =========== Writing unit tests and executing them using the `typo3/testing-framework` now requires the system under test to no longer raise PHP :php:`E_NOTICE` level errors, or the test fails. Impact ====== This is a first step towards a PHP notice free TYPO3 core. Affected Installations ====================== Extensions that use the TYPO3 v9 compatible `typo3/testing-framework` package in a version >= 3.0.0 may see failing unit tests if the tested class raises `E_NOTICE` errors. Migration ========= The best solution is to fix the unit test and/or the system under test to no longer raise `E_NOTICE` level PHP errors. In a transition phase, a single unit test case file can set a property to still suppress E_NOTICE warnings: .. code-block:: php class FooTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase { /** * Subject is not notice free, disable E_NOTICES */ protected static $suppressNotices = true; } Note that this property is deprecated and will be removed from :php:`UnitTestCase` as soon as TYPO3 core does not need it anymore. .. index:: PHP-API, FullyScanned