allObjectsPersisted is not triggered after each test
The tearDown() method of the base functional test case clears the persistence manager's state so it is ready for the next test, avoiding side effects.
However, certain repositories (such as the TYPO3CR NodeRepository) rely on the signal "allObjectsPersisted" which triggers their internal cleanup function. If this signal is not, sent, the next test will still see added objects stored directly in the repository.
The solution is to call persistAll() in the tearDown() method, even if the just executed test doesn't require it.