Improve component manager separation in Base Test Case
Currently all tests get a complete copy (including subobjects) of the component manager injected. This happens in source:Packages/Testing/Classes/T3_Testing_BaseTestCase.php#398 . However, the serialize / unserialize method will surely cause problems as soon as we have persistence in place, so we need a finer grained solution here.
The problem is that some unit tests do change component configuration or even package configuration. This needs to be isolated from other tests.
Updated by Malte Jansen over 13 years ago
Perhaps some variables could be unset in some classes, which are not needed anymore after there usage (especially if the classObject is stored tempoarly).
Until now this solved the problem for the TYPO3CGL, which works in simluar ways to the Testing-Package with PHPUnit. The TYPO3CGL still works with less than 32MB of memory. Before unsetting some variables it was more than 64MB.
Updated by Karsten Dambekalns over 12 years ago
This one will be solved by simply not providing any part of FLOW3 to the BaseTestCase and making sure all tests use mocked versions of the needed components. I started refactoring tests towards that goal late last year and we'll continue to do so, at least for FLOW3, TYPO3CR and other core parts.
To make sure your tests run in the future, make sure to never use the provided $this->objectManager in your testcases.