From 3c7867fc5e040bb58bef38274a8248d29d03aa3c Mon Sep 17 00:00:00 2001
From: Benjamin Franzke <bfr@qbus.de>
Date: Mon, 11 May 2020 20:36:07 +0200
Subject: [PATCH] [TASK] Don't use GeneralUtility::getContainer in functional
 tests

As GeneralUtility::getContainer is marked internal, we do now avoid
to use this method in core tests in order to demonstrate best
practices for third party extensions that may use core tests as
inspiration.

This change requires an update for typo3/testing-framework which now
provides a getContainer() method as API in functional tests:

  composer require --dev typo3/testing-framework:^6.2.5

Releases: master
Resolves: #91363
Change-Id: I844973ddd3355d15c72307ac9533429333a396da
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/64456
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Susanne Moog <look@susi.dev>
Tested-by: Benni Mack <benni@typo3.org>
Reviewed-by: Susanne Moog <look@susi.dev>
Reviewed-by: Benni Mack <benni@typo3.org>
---
 composer.json                                 |  2 +-
 composer.lock                                 | 13 +++---
 typo3/sysext/core/composer.json               |  2 +-
 .../ActionControllerValidationTest.php        |  4 +-
 .../Functional/Mvc/Web/RequestBuilderTest.php | 40 +++++++++---------
 .../Property/PropertyMapperTest.php           | 41 +++++++++----------
 .../TypeConverter/ArrayConverterTest.php      |  3 +-
 .../TypeConverter/BooleanConverterTest.php    |  3 +-
 .../TypeConverter/DateTimeConverterTest.php   | 31 +++++++-------
 .../TypeConverter/FileConverterTest.php       |  3 +-
 .../TypeConverter/FloatConverterTest.php      |  3 +-
 .../TypeConverter/IntegerConverterTest.php    |  3 +-
 .../TypeConverter/ObjectConverterTest.php     | 29 +++++++------
 .../ObjectStorageConverterTest.php            |  5 +--
 .../PersistentObjectConverterTest.php         | 23 +++++------
 .../TypeConverter/StringConverterTest.php     |  3 +-
 16 files changed, 99 insertions(+), 109 deletions(-)

diff --git a/composer.json b/composer.json
index 48b177d1fa20..cfddcae38dee 100644
--- a/composer.json
+++ b/composer.json
@@ -89,7 +89,7 @@
 		"phpstan/phpstan": "^0.12.13",
 		"rector/rector": "^0.7.14",
 		"typo3/cms-styleguide": "~10.0.2",
-		"typo3/testing-framework": "^6.2.4"
+		"typo3/testing-framework": "^6.2.5"
 	},
 	"suggest": {
 		"ext-gd": "GDlib/Freetype is required for building images with text (GIFBUILDER) and can also be used to scale images",
diff --git a/composer.lock b/composer.lock
index 2378d393e004..5004da0c5215 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
         "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
         "This file is @generated automatically"
     ],
-    "content-hash": "9e989ed437e387e3457d27c4c934d00f",
+    "content-hash": "9a3876621a6a69d1826034146021adab",
     "packages": [
         {
             "name": "cogpowered/finediff",
@@ -8320,21 +8320,22 @@
         },
         {
             "name": "typo3/testing-framework",
-            "version": "6.2.4",
+            "version": "6.2.5",
             "source": {
                 "type": "git",
                 "url": "https://github.com/TYPO3/testing-framework.git",
-                "reference": "970fb834d40cb5bf8cc0c2d45f60023d21377911"
+                "reference": "7b920e015f7a45575b428ed3a36afe91b6196af1"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/TYPO3/testing-framework/zipball/970fb834d40cb5bf8cc0c2d45f60023d21377911",
-                "reference": "970fb834d40cb5bf8cc0c2d45f60023d21377911",
+                "url": "https://api.github.com/repos/TYPO3/testing-framework/zipball/7b920e015f7a45575b428ed3a36afe91b6196af1",
+                "reference": "7b920e015f7a45575b428ed3a36afe91b6196af1",
                 "shasum": ""
             },
             "require": {
                 "mikey179/vfsstream": "~1.6.8",
                 "phpunit/phpunit": "^8.4 || ^9.0",
+                "psr/container": "^1.0",
                 "typo3/cms-backend": "10.*.*@dev",
                 "typo3/cms-core": "10.*.*@dev",
                 "typo3/cms-extbase": "10.*.*@dev",
@@ -8376,7 +8377,7 @@
                 "tests",
                 "typo3"
             ],
-            "time": "2020-05-02T12:48:34+00:00"
+            "time": "2020-05-12T15:01:24+00:00"
         }
     ],
     "aliases": [],
diff --git a/typo3/sysext/core/composer.json b/typo3/sysext/core/composer.json
index ddfcf8bda6e9..fc1a76025d4f 100644
--- a/typo3/sysext/core/composer.json
+++ b/typo3/sysext/core/composer.json
@@ -69,7 +69,7 @@
 		"phpspec/prophecy": "^1.7.5",
 		"phpstan/phpstan": "^0.12.13",
 		"typo3/cms-styleguide": "~10.0.2",
-		"typo3/testing-framework": "^6.2.4"
+		"typo3/testing-framework": "^6.2.5"
 	},
 	"suggest": {
 		"ext-fileinfo": "Used for proper file type detection in the file abstraction layer",
diff --git a/typo3/sysext/extbase/Tests/Functional/Mvc/Validation/ActionControllerValidationTest.php b/typo3/sysext/extbase/Tests/Functional/Mvc/Validation/ActionControllerValidationTest.php
index 5b2a6b466878..7ff277f61133 100644
--- a/typo3/sysext/extbase/Tests/Functional/Mvc/Validation/ActionControllerValidationTest.php
+++ b/typo3/sysext/extbase/Tests/Functional/Mvc/Validation/ActionControllerValidationTest.php
@@ -67,7 +67,7 @@ class ActionControllerValidationTest extends FunctionalTestCase
      */
     public function forwardedActionValidatesPreviouslyIgnoredArgument(array $blogPostArgument, array $trustedProperties, array $expectedErrorCodes)
     {
-        $GLOBALS['LANG'] = GeneralUtility::getContainer()->get(LanguageService::class);
+        $GLOBALS['LANG'] = $this->getContainer()->get(LanguageService::class);
         $GLOBALS['TYPO3_CONF_VARS']['SYS']['encryptionKey'] = 'testkey';
 
         $this->importDataSet('PACKAGE:typo3/testing-framework/Resources/Core/Functional/Fixtures/pages.xml');
@@ -115,7 +115,7 @@ class ActionControllerValidationTest extends FunctionalTestCase
      */
     public function validationResultsAreProvidedForTheSameObjectInDifferentArguments()
     {
-        $GLOBALS['LANG'] = GeneralUtility::getContainer()->get(LanguageService::class);
+        $GLOBALS['LANG'] = $this->getContainer()->get(LanguageService::class);
         $GLOBALS['TYPO3_CONF_VARS']['SYS']['encryptionKey'] = 'testkey';
 
         $this->importDataSet('PACKAGE:typo3/testing-framework/Resources/Core/Functional/Fixtures/pages.xml');
diff --git a/typo3/sysext/extbase/Tests/Functional/Mvc/Web/RequestBuilderTest.php b/typo3/sysext/extbase/Tests/Functional/Mvc/Web/RequestBuilderTest.php
index bced1c23094c..f6c77c12bffe 100644
--- a/typo3/sysext/extbase/Tests/Functional/Mvc/Web/RequestBuilderTest.php
+++ b/typo3/sysext/extbase/Tests/Functional/Mvc/Web/RequestBuilderTest.php
@@ -57,7 +57,7 @@ class RequestBuilderTest extends FunctionalTestCase
         $configurationManager = GeneralUtility::makeInstance(ObjectManager::class)->get(ConfigurationManagerInterface::class);
         $configurationManager->setConfiguration($configuration);
 
-        $requestBuilder = GeneralUtility::getContainer()->get(RequestBuilder::class);
+        $requestBuilder = $this->getContainer()->get(RequestBuilder::class);
         $request = $requestBuilder->build();
 
         self::assertInstanceOf(RequestInterface::class, $request);
@@ -89,7 +89,7 @@ class RequestBuilderTest extends FunctionalTestCase
         $configurationManager = GeneralUtility::makeInstance(ObjectManager::class)->get(ConfigurationManagerInterface::class);
         $configurationManager->setConfiguration($configuration);
 
-        $requestBuilder = GeneralUtility::getContainer()->get(RequestBuilder::class);
+        $requestBuilder = $this->getContainer()->get(RequestBuilder::class);
         $request = $requestBuilder->build();
 
         self::assertInstanceOf(RequestInterface::class, $request);
@@ -122,7 +122,7 @@ class RequestBuilderTest extends FunctionalTestCase
         $configurationManager = GeneralUtility::makeInstance(ObjectManager::class)->get(ConfigurationManagerInterface::class);
         $configurationManager->setConfiguration($configuration);
 
-        $requestBuilder = GeneralUtility::getContainer()->get(RequestBuilder::class);
+        $requestBuilder = $this->getContainer()->get(RequestBuilder::class);
         $request = $requestBuilder->build();
 
         self::assertInstanceOf(RequestInterface::class, $request);
@@ -138,7 +138,7 @@ class RequestBuilderTest extends FunctionalTestCase
         static::expectExceptionCode(1289843275);
         static::expectExceptionMessage('"extensionName" is not properly configured. Request can\'t be dispatched!');
 
-        $requestBuilder = GeneralUtility::getContainer()->get(RequestBuilder::class);
+        $requestBuilder = $this->getContainer()->get(RequestBuilder::class);
         $requestBuilder->build();
     }
 
@@ -155,7 +155,7 @@ class RequestBuilderTest extends FunctionalTestCase
         $configurationManager = GeneralUtility::makeInstance(ObjectManager::class)->get(ConfigurationManagerInterface::class);
         $configurationManager->setConfiguration(['extensionName' => 'blog_example']);
 
-        $requestBuilder = GeneralUtility::getContainer()->get(RequestBuilder::class);
+        $requestBuilder = $this->getContainer()->get(RequestBuilder::class);
         $requestBuilder->build();
     }
 
@@ -191,7 +191,7 @@ class RequestBuilderTest extends FunctionalTestCase
         $configurationManager = GeneralUtility::makeInstance(ObjectManager::class)->get(ConfigurationManagerInterface::class);
         $configurationManager->setConfiguration($configuration);
 
-        $requestBuilder = GeneralUtility::getContainer()->get(RequestBuilder::class);
+        $requestBuilder = $this->getContainer()->get(RequestBuilder::class);
         $request = $requestBuilder->build();
 
         self::assertInstanceOf(RequestInterface::class, $request);
@@ -248,7 +248,7 @@ class RequestBuilderTest extends FunctionalTestCase
         $configurationManager = GeneralUtility::makeInstance(ObjectManager::class)->get(ConfigurationManagerInterface::class);
         $configurationManager->setConfiguration($configuration);
 
-        $requestBuilder = GeneralUtility::getContainer()->get(RequestBuilder::class);
+        $requestBuilder = $this->getContainer()->get(RequestBuilder::class);
         $request = $requestBuilder->build();
 
         self::assertInstanceOf(RequestInterface::class, $request);
@@ -300,7 +300,7 @@ class RequestBuilderTest extends FunctionalTestCase
         $configurationManager = GeneralUtility::makeInstance(ObjectManager::class)->get(ConfigurationManagerInterface::class);
         $configurationManager->setConfiguration($configuration);
 
-        $requestBuilder = GeneralUtility::getContainer()->get(RequestBuilder::class);
+        $requestBuilder = $this->getContainer()->get(RequestBuilder::class);
         $requestBuilder->build();
     }
 
@@ -335,7 +335,7 @@ class RequestBuilderTest extends FunctionalTestCase
         $configurationManager = GeneralUtility::makeInstance(ObjectManager::class)->get(ConfigurationManagerInterface::class);
         $configurationManager->setConfiguration($configuration);
 
-        $requestBuilder = GeneralUtility::getContainer()->get(RequestBuilder::class);
+        $requestBuilder = $this->getContainer()->get(RequestBuilder::class);
         $requestBuilder->build();
     }
 
@@ -359,7 +359,7 @@ class RequestBuilderTest extends FunctionalTestCase
         $configurationManager = GeneralUtility::makeInstance(ObjectManager::class)->get(ConfigurationManagerInterface::class);
         $configurationManager->setConfiguration($configuration);
 
-        $requestBuilder = GeneralUtility::getContainer()->get(RequestBuilder::class);
+        $requestBuilder = $this->getContainer()->get(RequestBuilder::class);
         $requestBuilder->build();
     }
 
@@ -390,7 +390,7 @@ class RequestBuilderTest extends FunctionalTestCase
         $configurationManager = GeneralUtility::makeInstance(ObjectManager::class)->get(ConfigurationManagerInterface::class);
         $configurationManager->setConfiguration($configuration);
 
-        $requestBuilder = GeneralUtility::getContainer()->get(RequestBuilder::class);
+        $requestBuilder = $this->getContainer()->get(RequestBuilder::class);
         $request = $requestBuilder->build();
 
         self::assertInstanceOf(RequestInterface::class, $request);
@@ -432,7 +432,7 @@ class RequestBuilderTest extends FunctionalTestCase
         $configurationManager = GeneralUtility::makeInstance(ObjectManager::class)->get(ConfigurationManagerInterface::class);
         $configurationManager->setConfiguration($configuration);
 
-        $requestBuilder = GeneralUtility::getContainer()->get(RequestBuilder::class);
+        $requestBuilder = $this->getContainer()->get(RequestBuilder::class);
         $request = $requestBuilder->build();
 
         self::assertInstanceOf(RequestInterface::class, $request);
@@ -469,7 +469,7 @@ class RequestBuilderTest extends FunctionalTestCase
         $configurationManager = GeneralUtility::makeInstance(ObjectManager::class)->get(ConfigurationManagerInterface::class);
         $configurationManager->setConfiguration($configuration);
 
-        $requestBuilder = GeneralUtility::getContainer()->get(RequestBuilder::class);
+        $requestBuilder = $this->getContainer()->get(RequestBuilder::class);
         $requestBuilder->build();
     }
 
@@ -504,7 +504,7 @@ class RequestBuilderTest extends FunctionalTestCase
         $configurationManager = GeneralUtility::makeInstance(ObjectManager::class)->get(ConfigurationManagerInterface::class);
         $configurationManager->setConfiguration($configuration);
 
-        $requestBuilder = GeneralUtility::getContainer()->get(RequestBuilder::class);
+        $requestBuilder = $this->getContainer()->get(RequestBuilder::class);
         $requestBuilder->build();
     }
 
@@ -535,7 +535,7 @@ class RequestBuilderTest extends FunctionalTestCase
         $configurationManager = GeneralUtility::makeInstance(ObjectManager::class)->get(ConfigurationManagerInterface::class);
         $configurationManager->setConfiguration($configuration);
 
-        $requestBuilder = GeneralUtility::getContainer()->get(RequestBuilder::class);
+        $requestBuilder = $this->getContainer()->get(RequestBuilder::class);
         $request = $requestBuilder->build();
 
         self::assertInstanceOf(RequestInterface::class, $request);
@@ -570,7 +570,7 @@ class RequestBuilderTest extends FunctionalTestCase
         $configurationManager = GeneralUtility::makeInstance(ObjectManager::class)->get(ConfigurationManagerInterface::class);
         $configurationManager->setConfiguration($configuration);
 
-        $requestBuilder = GeneralUtility::getContainer()->get(RequestBuilder::class);
+        $requestBuilder = $this->getContainer()->get(RequestBuilder::class);
         $request = $requestBuilder->build();
 
         self::assertInstanceOf(RequestInterface::class, $request);
@@ -604,7 +604,7 @@ class RequestBuilderTest extends FunctionalTestCase
         $configurationManager = GeneralUtility::makeInstance(ObjectManager::class)->get(ConfigurationManagerInterface::class);
         $configurationManager->setConfiguration($configuration);
 
-        $requestBuilder = GeneralUtility::getContainer()->get(RequestBuilder::class);
+        $requestBuilder = $this->getContainer()->get(RequestBuilder::class);
         $requestBuilder->build();
     }
 
@@ -638,7 +638,7 @@ class RequestBuilderTest extends FunctionalTestCase
         $configurationManager = GeneralUtility::makeInstance(ObjectManager::class)->get(ConfigurationManagerInterface::class);
         $configurationManager->setConfiguration($configuration);
 
-        $requestBuilder = GeneralUtility::getContainer()->get(RequestBuilder::class);
+        $requestBuilder = $this->getContainer()->get(RequestBuilder::class);
         $request = $requestBuilder->build();
 
         self::assertInstanceOf(RequestInterface::class, $request);
@@ -677,7 +677,7 @@ class RequestBuilderTest extends FunctionalTestCase
         $configurationManager = GeneralUtility::makeInstance(ObjectManager::class)->get(ConfigurationManagerInterface::class);
         $configurationManager->setConfiguration($configuration);
 
-        $requestBuilder = GeneralUtility::getContainer()->get(RequestBuilder::class);
+        $requestBuilder = $this->getContainer()->get(RequestBuilder::class);
         $request = $requestBuilder->build();
 
         self::assertInstanceOf(RequestInterface::class, $request);
@@ -714,7 +714,7 @@ class RequestBuilderTest extends FunctionalTestCase
         $configurationManager = GeneralUtility::makeInstance(ObjectManager::class)->get(ConfigurationManagerInterface::class);
         $configurationManager->setConfiguration($configuration);
 
-        $requestBuilder = GeneralUtility::getContainer()->get(RequestBuilder::class);
+        $requestBuilder = $this->getContainer()->get(RequestBuilder::class);
         $request = $requestBuilder->build();
 
         self::assertInstanceOf(RequestInterface::class, $request);
diff --git a/typo3/sysext/extbase/Tests/Functional/Property/PropertyMapperTest.php b/typo3/sysext/extbase/Tests/Functional/Property/PropertyMapperTest.php
index 54f19ccdeb1b..d0167b7bbd28 100644
--- a/typo3/sysext/extbase/Tests/Functional/Property/PropertyMapperTest.php
+++ b/typo3/sysext/extbase/Tests/Functional/Property/PropertyMapperTest.php
@@ -17,7 +17,6 @@ declare(strict_types=1);
 
 namespace TYPO3\CMS\Extbase\Tests\Functional\Property;
 
-use TYPO3\CMS\Core\Utility\GeneralUtility;
 use TYPO3\CMS\Extbase\Domain\Model\BackendUser;
 use TYPO3\CMS\Extbase\Persistence\ObjectStorage;
 use TYPO3\CMS\Extbase\Property\Exception\TargetNotFoundException;
@@ -45,7 +44,7 @@ class PropertyMapperTest extends FunctionalTestCase
         $class = new class() extends ArrayConverter {
         };
         ExtensionUtility::registerTypeConverter(get_class($class));
-        GeneralUtility::getContainer()->get(PropertyMapper::class);
+        $this->getContainer()->get(PropertyMapper::class);
     }
 
     /**
@@ -54,7 +53,7 @@ class PropertyMapperTest extends FunctionalTestCase
     public function convertCreatesAPropertyMappingConfigurationIfNotGiven()
     {
         // This test just increases the test coverage
-        GeneralUtility::getContainer()->get(PropertyMapper::class)
+        $this->getContainer()->get(PropertyMapper::class)
             ->convert('string', 'string');
     }
 
@@ -63,7 +62,7 @@ class PropertyMapperTest extends FunctionalTestCase
      */
     public function convertReturnsNullIfDoMappingReturnsAnError()
     {
-        $propertyMapper = GeneralUtility::getContainer()->get(PropertyMapper::class);
+        $propertyMapper = $this->getContainer()->get(PropertyMapper::class);
 
         self::assertNull($propertyMapper->convert('string', 'integer'));
         self::assertNotEmpty($propertyMapper->getMessages());
@@ -77,7 +76,7 @@ class PropertyMapperTest extends FunctionalTestCase
         static::expectException(TargetNotFoundException::class);
         static::expectExceptionCode(1297933823);
 
-        $propertyMapper = GeneralUtility::getContainer()->get(PropertyMapper::class);
+        $propertyMapper = $this->getContainer()->get(PropertyMapper::class);
         $propertyMapper->convert(9999, BackendUser::class);
     }
 
@@ -90,7 +89,7 @@ class PropertyMapperTest extends FunctionalTestCase
         static::expectExceptionCode(1297759968);
         static::expectExceptionMessage('Exception while property mapping at property path "": No converter found which can be used to convert from "integer" to "boolean"');
 
-        $propertyMapper = GeneralUtility::getContainer()->get(PropertyMapper::class);
+        $propertyMapper = $this->getContainer()->get(PropertyMapper::class);
         $propertyMapper->convert(9999, 'boolean');
     }
 
@@ -103,7 +102,7 @@ class PropertyMapperTest extends FunctionalTestCase
         static::expectExceptionCode(1297759968);
         static::expectExceptionMessage('Exception while property mapping at property path "": The target type was no string, but of type "NULL"');
 
-        $propertyMapper = GeneralUtility::getContainer()->get(PropertyMapper::class);
+        $propertyMapper = $this->getContainer()->get(PropertyMapper::class);
         $propertyMapper->convert(9999, null);
     }
 
@@ -112,7 +111,7 @@ class PropertyMapperTest extends FunctionalTestCase
      */
     public function convertInternallyConvertsANullSourceToAnEmptyString()
     {
-        $propertyMapper = GeneralUtility::getContainer()->get(PropertyMapper::class);
+        $propertyMapper = $this->getContainer()->get(PropertyMapper::class);
         self::assertSame('', $propertyMapper->convert(null, 'string'));
     }
 
@@ -125,7 +124,7 @@ class PropertyMapperTest extends FunctionalTestCase
         static::expectExceptionCode(1297759968);
         static::expectExceptionMessage('Exception while property mapping at property path "": Could not find a suitable type converter for "NonExistingClass" because no such class or interface exists.');
 
-        $propertyMapper = GeneralUtility::getContainer()->get(PropertyMapper::class);
+        $propertyMapper = $this->getContainer()->get(PropertyMapper::class);
         $propertyMapper->convert(1, 'NonExistingClass');
     }
 
@@ -170,7 +169,7 @@ class PropertyMapperTest extends FunctionalTestCase
         ExtensionUtility::registerTypeConverter(get_class($converterOne));
         ExtensionUtility::registerTypeConverter(get_class($converterTwo));
 
-        $propertyMapper = GeneralUtility::getContainer()->get(PropertyMapper::class);
+        $propertyMapper = $this->getContainer()->get(PropertyMapper::class);
         $propertyMapper->convert(1, get_class($counter));
     }
 
@@ -181,7 +180,7 @@ class PropertyMapperTest extends FunctionalTestCase
     {
         $objectStorage = new ObjectStorage();
 
-        $result = GeneralUtility::getContainer()->get(PropertyMapper::class)->convert(
+        $result = $this->getContainer()->get(PropertyMapper::class)->convert(
             $objectStorage,
             '\TYPO3\CMS\Extbase\Persistence\ObjectStorage<\TYPO3\CMS\Extbase\Domain\Model\BackendUser>'
         );
@@ -204,7 +203,7 @@ class PropertyMapperTest extends FunctionalTestCase
         $propertyMappingConfiguration = new PropertyMappingConfiguration();
         $propertyMappingConfiguration->setTypeConverter($class);
 
-        $result = GeneralUtility::getContainer()->get(PropertyMapper::class)->convert(
+        $result = $this->getContainer()->get(PropertyMapper::class)->convert(
             1,
             'integer',
             $propertyMappingConfiguration
@@ -226,7 +225,7 @@ class PropertyMapperTest extends FunctionalTestCase
             return 'string';
         };
 
-        $propertyMapper = GeneralUtility::getContainer()->get(PropertyMapper::class);
+        $propertyMapper = $this->getContainer()->get(PropertyMapper::class);
         $propertyMapper->convert($generator, 'string');
     }
 
@@ -241,7 +240,7 @@ class PropertyMapperTest extends FunctionalTestCase
 
         $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['extbase']['typeConverters'] = [];
 
-        $result = GeneralUtility::getContainer()->get(PropertyMapper::class)->convert(1, Cat::class);
+        $result = $this->getContainer()->get(PropertyMapper::class)->convert(1, Cat::class);
         self::assertNull($result);
     }
 
@@ -263,7 +262,7 @@ class PropertyMapperTest extends FunctionalTestCase
 
         ExtensionUtility::registerTypeConverter(get_class($converter));
 
-        $result = GeneralUtility::getContainer()->get(PropertyMapper::class)->convert('tigger', Cat::class);
+        $result = $this->getContainer()->get(PropertyMapper::class)->convert('tigger', Cat::class);
         self::assertInstanceOf(Cat::class, $result);
     }
 
@@ -285,7 +284,7 @@ class PropertyMapperTest extends FunctionalTestCase
 
         ExtensionUtility::registerTypeConverter(get_class($converter));
 
-        $result = GeneralUtility::getContainer()->get(PropertyMapper::class)->convert('tigger', Cat::class);
+        $result = $this->getContainer()->get(PropertyMapper::class)->convert('tigger', Cat::class);
         self::assertInstanceOf(Animal::class, $result);
     }
 
@@ -314,7 +313,7 @@ class PropertyMapperTest extends FunctionalTestCase
 
         ExtensionUtility::registerTypeConverter(get_class($converter));
 
-        $propertyMapper = GeneralUtility::getContainer()->get(PropertyMapper::class);
+        $propertyMapper = $this->getContainer()->get(PropertyMapper::class);
         $result = $propertyMapper->convert(1, get_class($counter));
 
         self::assertSame([], $result);
@@ -332,7 +331,7 @@ class PropertyMapperTest extends FunctionalTestCase
         $propertyMappingConfiguration = new PropertyMappingConfiguration();
         $propertyMappingConfiguration->allowAllProperties();
 
-        $propertyMapper = GeneralUtility::getContainer()->get(PropertyMapper::class);
+        $propertyMapper = $this->getContainer()->get(PropertyMapper::class);
         /** @var Cat $result */
         $result = $propertyMapper->convert(
             $source,
@@ -356,7 +355,7 @@ class PropertyMapperTest extends FunctionalTestCase
         $propertyMappingConfiguration = new PropertyMappingConfiguration();
         $propertyMappingConfiguration->skipProperties('color');
 
-        $propertyMapper = GeneralUtility::getContainer()->get(PropertyMapper::class);
+        $propertyMapper = $this->getContainer()->get(PropertyMapper::class);
         /** @var Cat $result */
         $result = $propertyMapper->convert(
             $source,
@@ -384,7 +383,7 @@ class PropertyMapperTest extends FunctionalTestCase
         $propertyMappingConfiguration = new PropertyMappingConfiguration();
         $propertyMappingConfiguration->allowAllPropertiesExcept('color');
 
-        $propertyMapper = GeneralUtility::getContainer()->get(PropertyMapper::class);
+        $propertyMapper = $this->getContainer()->get(PropertyMapper::class);
         $propertyMapper->convert(
             $source,
             Cat::class,
@@ -405,7 +404,7 @@ class PropertyMapperTest extends FunctionalTestCase
         $propertyMappingConfiguration->allowAllPropertiesExcept('color');
         $propertyMappingConfiguration->skipUnknownProperties();
 
-        $propertyMapper = GeneralUtility::getContainer()->get(PropertyMapper::class);
+        $propertyMapper = $this->getContainer()->get(PropertyMapper::class);
         /** @var Cat $result */
         $result = $propertyMapper->convert(
             $source,
diff --git a/typo3/sysext/extbase/Tests/Functional/Property/TypeConverter/ArrayConverterTest.php b/typo3/sysext/extbase/Tests/Functional/Property/TypeConverter/ArrayConverterTest.php
index aa9d27193f0b..e74f4d847698 100644
--- a/typo3/sysext/extbase/Tests/Functional/Property/TypeConverter/ArrayConverterTest.php
+++ b/typo3/sysext/extbase/Tests/Functional/Property/TypeConverter/ArrayConverterTest.php
@@ -17,7 +17,6 @@ declare(strict_types=1);
 
 namespace TYPO3\CMS\Extbase\Tests\Functional\Property\TypeConverter;
 
-use TYPO3\CMS\Core\Utility\GeneralUtility;
 use TYPO3\CMS\Extbase\Property\PropertyMapper;
 use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase;
 
@@ -28,7 +27,7 @@ class ArrayConverterTest extends FunctionalTestCase
      */
     public function convertToArray()
     {
-        $propertyMapper = GeneralUtility::getContainer()->get(PropertyMapper::class);
+        $propertyMapper = $this->getContainer()->get(PropertyMapper::class);
 
         self::assertSame([], $propertyMapper->convert([], 'array'));
 
diff --git a/typo3/sysext/extbase/Tests/Functional/Property/TypeConverter/BooleanConverterTest.php b/typo3/sysext/extbase/Tests/Functional/Property/TypeConverter/BooleanConverterTest.php
index 88f041ee7061..c4e40be69619 100644
--- a/typo3/sysext/extbase/Tests/Functional/Property/TypeConverter/BooleanConverterTest.php
+++ b/typo3/sysext/extbase/Tests/Functional/Property/TypeConverter/BooleanConverterTest.php
@@ -17,7 +17,6 @@ declare(strict_types=1);
 
 namespace TYPO3\CMS\Extbase\Tests\Functional\Property\TypeConverter;
 
-use TYPO3\CMS\Core\Utility\GeneralUtility;
 use TYPO3\CMS\Extbase\Property\PropertyMapper;
 use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase;
 
@@ -28,7 +27,7 @@ class BooleanConverterTest extends FunctionalTestCase
      */
     public function convertToBoolean()
     {
-        $propertyMapper = GeneralUtility::getContainer()->get(PropertyMapper::class);
+        $propertyMapper = $this->getContainer()->get(PropertyMapper::class);
 
         self::assertTrue($propertyMapper->convert(true, 'boolean'));
         self::assertFalse($propertyMapper->convert(false, 'boolean'));
diff --git a/typo3/sysext/extbase/Tests/Functional/Property/TypeConverter/DateTimeConverterTest.php b/typo3/sysext/extbase/Tests/Functional/Property/TypeConverter/DateTimeConverterTest.php
index 1bc092d8f1c0..d0e0acdaf8e6 100644
--- a/typo3/sysext/extbase/Tests/Functional/Property/TypeConverter/DateTimeConverterTest.php
+++ b/typo3/sysext/extbase/Tests/Functional/Property/TypeConverter/DateTimeConverterTest.php
@@ -17,7 +17,6 @@ declare(strict_types=1);
 
 namespace TYPO3\CMS\Extbase\Tests\Functional\Property\TypeConverter;
 
-use TYPO3\CMS\Core\Utility\GeneralUtility;
 use TYPO3\CMS\Extbase\Property\Exception;
 use TYPO3\CMS\Extbase\Property\PropertyMapper;
 use TYPO3\CMS\Extbase\Property\PropertyMappingConfiguration;
@@ -31,7 +30,7 @@ class DateTimeConverterTest extends FunctionalTestCase
      */
     public function convertFromReturnsAnErrorWhenConvertingIntegersToDateTime()
     {
-        $propertyMapper = GeneralUtility::getContainer()->get(PropertyMapper::class);
+        $propertyMapper = $this->getContainer()->get(PropertyMapper::class);
 
         $dateTime = $propertyMapper->convert(0, \DateTime::class);
 
@@ -48,7 +47,7 @@ class DateTimeConverterTest extends FunctionalTestCase
      */
     public function convertFromReturnsNullIfSourceIsAnEmptyString()
     {
-        $propertyMapper = GeneralUtility::getContainer()->get(PropertyMapper::class);
+        $propertyMapper = $this->getContainer()->get(PropertyMapper::class);
 
         $dateTime = $propertyMapper->convert('', \DateTime::class);
 
@@ -61,7 +60,7 @@ class DateTimeConverterTest extends FunctionalTestCase
      */
     public function convertDefaultDateFormatString()
     {
-        $propertyMapper = GeneralUtility::getContainer()->get(PropertyMapper::class);
+        $propertyMapper = $this->getContainer()->get(PropertyMapper::class);
 
         $dateTime = $propertyMapper->convert('2019-12-07T19:07:02+00:00', \DateTime::class);
 
@@ -81,7 +80,7 @@ class DateTimeConverterTest extends FunctionalTestCase
             \DateTime::RFC7231
         );
 
-        $propertyMapper = GeneralUtility::getContainer()->get(PropertyMapper::class);
+        $propertyMapper = $this->getContainer()->get(PropertyMapper::class);
 
         $dateTime = $propertyMapper->convert(
             'Sat, 07 Dec 2019 19:15:45 GMT',
@@ -109,7 +108,7 @@ class DateTimeConverterTest extends FunctionalTestCase
             []
         );
 
-        $propertyMapper = GeneralUtility::getContainer()->get(PropertyMapper::class);
+        $propertyMapper = $this->getContainer()->get(PropertyMapper::class);
 
         $propertyMapper->convert(
             'Sat, 07 Dec 2019 19:15:45 GMT',
@@ -123,7 +122,7 @@ class DateTimeConverterTest extends FunctionalTestCase
      */
     public function convertWithArraySourceWithStringDate()
     {
-        $propertyMapper = GeneralUtility::getContainer()->get(PropertyMapper::class);
+        $propertyMapper = $this->getContainer()->get(PropertyMapper::class);
 
         $dateTime = $propertyMapper->convert(
             [
@@ -148,7 +147,7 @@ class DateTimeConverterTest extends FunctionalTestCase
             'U'
         );
 
-        $propertyMapper = GeneralUtility::getContainer()->get(PropertyMapper::class);
+        $propertyMapper = $this->getContainer()->get(PropertyMapper::class);
 
         $dateTime = $propertyMapper->convert(
             [
@@ -174,7 +173,7 @@ class DateTimeConverterTest extends FunctionalTestCase
             'Y-m-d'
         );
 
-        $propertyMapper = GeneralUtility::getContainer()->get(PropertyMapper::class);
+        $propertyMapper = $this->getContainer()->get(PropertyMapper::class);
 
         $dateTime = $propertyMapper->convert(
             [
@@ -195,7 +194,7 @@ class DateTimeConverterTest extends FunctionalTestCase
      */
     public function convertWithArraySourceWithDayMonthYearAndDateFormatSet()
     {
-        $propertyMapper = GeneralUtility::getContainer()->get(PropertyMapper::class);
+        $propertyMapper = $this->getContainer()->get(PropertyMapper::class);
 
         $dateTime = $propertyMapper->convert(
             [
@@ -216,7 +215,7 @@ class DateTimeConverterTest extends FunctionalTestCase
      */
     public function convertWithArraySourceWithDayMonthYearHourMinuteAndSecondSet()
     {
-        $propertyMapper = GeneralUtility::getContainer()->get(PropertyMapper::class);
+        $propertyMapper = $this->getContainer()->get(PropertyMapper::class);
 
         $dateTime = $propertyMapper->convert(
             [
@@ -245,7 +244,7 @@ class DateTimeConverterTest extends FunctionalTestCase
         // The timezone parameter and the current timezone are ignored when the time parameter
         // either contains a UNIX timestamp (e.g. 946684800) or specifies a timezone (e.g. 2010-01-28T15:00:00+02:00).
 
-        $propertyMapper = GeneralUtility::getContainer()->get(PropertyMapper::class);
+        $propertyMapper = $this->getContainer()->get(PropertyMapper::class);
 
         $dateTime = $propertyMapper->convert(
             [
@@ -272,7 +271,7 @@ class DateTimeConverterTest extends FunctionalTestCase
             'Y-m-d H:i:s'
         );
 
-        $propertyMapper = GeneralUtility::getContainer()->get(PropertyMapper::class);
+        $propertyMapper = $this->getContainer()->get(PropertyMapper::class);
 
         $dateTime = $propertyMapper->convert(
             [
@@ -293,7 +292,7 @@ class DateTimeConverterTest extends FunctionalTestCase
      */
     public function convertFromReturnsErrorIfSourceIsAnArrayAndEitherDayMonthOrYearAreLowerThanOne()
     {
-        $propertyMapper = GeneralUtility::getContainer()->get(PropertyMapper::class);
+        $propertyMapper = $this->getContainer()->get(PropertyMapper::class);
 
         $dateTime = $propertyMapper->convert(
             [
@@ -321,7 +320,7 @@ class DateTimeConverterTest extends FunctionalTestCase
         static::expectExceptionCode(1297759968);
         static::expectExceptionMessage('Exception while property mapping at property path "": Could not convert the given source into a DateTime object because it was not an array with a valid date as a string');
 
-        GeneralUtility::getContainer()->get(PropertyMapper::class)->convert([], \DateTime::class);
+        $this->getContainer()->get(PropertyMapper::class)->convert([], \DateTime::class);
     }
 
     /**
@@ -340,7 +339,7 @@ class DateTimeConverterTest extends FunctionalTestCase
             'Y-m-d H:i:s'
         );
 
-        $propertyMapper = GeneralUtility::getContainer()->get(PropertyMapper::class);
+        $propertyMapper = $this->getContainer()->get(PropertyMapper::class);
 
         $propertyMapper->convert(
             [
diff --git a/typo3/sysext/extbase/Tests/Functional/Property/TypeConverter/FileConverterTest.php b/typo3/sysext/extbase/Tests/Functional/Property/TypeConverter/FileConverterTest.php
index a1c28d3fc1df..0f7dbb363532 100644
--- a/typo3/sysext/extbase/Tests/Functional/Property/TypeConverter/FileConverterTest.php
+++ b/typo3/sysext/extbase/Tests/Functional/Property/TypeConverter/FileConverterTest.php
@@ -18,7 +18,6 @@ declare(strict_types=1);
 namespace TYPO3\CMS\Extbase\Tests\Functional\Property\TypeConverter;
 
 use TYPO3\CMS\Core\Authentication\BackendUserAuthentication;
-use TYPO3\CMS\Core\Utility\GeneralUtility;
 use TYPO3\CMS\Extbase\Domain\Model\File;
 use TYPO3\CMS\Extbase\Property\PropertyMapper;
 use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase;
@@ -36,7 +35,7 @@ class FileConverterTest extends FunctionalTestCase
         $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/sys_file.xml');
         $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/sys_file_storage.xml');
 
-        $propertyMapper = GeneralUtility::getContainer()->get(PropertyMapper::class);
+        $propertyMapper = $this->getContainer()->get(PropertyMapper::class);
 
         /** @var File $file */
         $file = $propertyMapper->convert(
diff --git a/typo3/sysext/extbase/Tests/Functional/Property/TypeConverter/FloatConverterTest.php b/typo3/sysext/extbase/Tests/Functional/Property/TypeConverter/FloatConverterTest.php
index f2a656ba434f..e6e73ea8ffe9 100644
--- a/typo3/sysext/extbase/Tests/Functional/Property/TypeConverter/FloatConverterTest.php
+++ b/typo3/sysext/extbase/Tests/Functional/Property/TypeConverter/FloatConverterTest.php
@@ -17,7 +17,6 @@ declare(strict_types=1);
 
 namespace TYPO3\CMS\Extbase\Tests\Functional\Property\TypeConverter;
 
-use TYPO3\CMS\Core\Utility\GeneralUtility;
 use TYPO3\CMS\Extbase\Property\PropertyMapper;
 use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase;
 
@@ -28,7 +27,7 @@ class FloatConverterTest extends FunctionalTestCase
      */
     public function convertToFloat()
     {
-        $propertyMapper = GeneralUtility::getContainer()->get(PropertyMapper::class);
+        $propertyMapper = $this->getContainer()->get(PropertyMapper::class);
 
         self::assertSame(10.1, $propertyMapper->convert(10.1, 'float'));
 
diff --git a/typo3/sysext/extbase/Tests/Functional/Property/TypeConverter/IntegerConverterTest.php b/typo3/sysext/extbase/Tests/Functional/Property/TypeConverter/IntegerConverterTest.php
index 51d78ff3faef..abcfcbd4d192 100644
--- a/typo3/sysext/extbase/Tests/Functional/Property/TypeConverter/IntegerConverterTest.php
+++ b/typo3/sysext/extbase/Tests/Functional/Property/TypeConverter/IntegerConverterTest.php
@@ -17,7 +17,6 @@ declare(strict_types=1);
 
 namespace TYPO3\CMS\Extbase\Tests\Functional\Property\TypeConverter;
 
-use TYPO3\CMS\Core\Utility\GeneralUtility;
 use TYPO3\CMS\Extbase\Property\PropertyMapper;
 use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase;
 
@@ -28,7 +27,7 @@ class IntegerConverterTest extends FunctionalTestCase
      */
     public function convertToInteger()
     {
-        $propertyMapper = GeneralUtility::getContainer()->get(PropertyMapper::class);
+        $propertyMapper = $this->getContainer()->get(PropertyMapper::class);
 
         self::assertSame(10, $propertyMapper->convert(10, 'integer'));
 
diff --git a/typo3/sysext/extbase/Tests/Functional/Property/TypeConverter/ObjectConverterTest.php b/typo3/sysext/extbase/Tests/Functional/Property/TypeConverter/ObjectConverterTest.php
index c135f08425a5..f011e9841bc9 100644
--- a/typo3/sysext/extbase/Tests/Functional/Property/TypeConverter/ObjectConverterTest.php
+++ b/typo3/sysext/extbase/Tests/Functional/Property/TypeConverter/ObjectConverterTest.php
@@ -17,7 +17,6 @@ declare(strict_types=1);
 
 namespace TYPO3\CMS\Extbase\Tests\Functional\Property\TypeConverter;
 
-use TYPO3\CMS\Core\Utility\GeneralUtility;
 use TYPO3\CMS\Extbase\DomainObject\AbstractEntity;
 use TYPO3\CMS\Extbase\Property\Exception;
 use TYPO3\CMS\Extbase\Property\PropertyMapper;
@@ -34,7 +33,7 @@ class ObjectConverterTest extends FunctionalTestCase
      */
     public function convertToObject()
     {
-        $propertyMapper = GeneralUtility::getContainer()->get(PropertyMapper::class);
+        $propertyMapper = $this->getContainer()->get(PropertyMapper::class);
 
         $model = new class() extends AbstractEntity {
             /**
@@ -60,7 +59,7 @@ class ObjectConverterTest extends FunctionalTestCase
      */
     public function convertToObjectViaTypeInArray()
     {
-        $propertyMapper = GeneralUtility::getContainer()->get(PropertyMapper::class);
+        $propertyMapper = $this->getContainer()->get(PropertyMapper::class);
 
         $propertyMapperConfiguration = new PropertyMappingConfiguration();
         $propertyMapperConfiguration->allowAllProperties();
@@ -90,7 +89,7 @@ class ObjectConverterTest extends FunctionalTestCase
             public $name;
         };
 
-        $propertyMapper = GeneralUtility::getContainer()->get(PropertyMapper::class);
+        $propertyMapper = $this->getContainer()->get(PropertyMapper::class);
         $propertyMapperConfiguration = new PropertyMappingConfiguration();
         $propertyMapperConfiguration->allowAllProperties();
         $propertyMapperConfiguration
@@ -128,7 +127,7 @@ class ObjectConverterTest extends FunctionalTestCase
             }
         };
 
-        $propertyMapper = GeneralUtility::getContainer()->get(PropertyMapper::class);
+        $propertyMapper = $this->getContainer()->get(PropertyMapper::class);
         $propertyMapperConfiguration = new PropertyMappingConfiguration();
         $propertyMapperConfiguration->allowAllProperties();
 
@@ -158,7 +157,7 @@ class ObjectConverterTest extends FunctionalTestCase
             }
         };
 
-        $propertyMapper = GeneralUtility::getContainer()->get(PropertyMapper::class);
+        $propertyMapper = $this->getContainer()->get(PropertyMapper::class);
         $propertyMapperConfiguration = new PropertyMappingConfiguration();
         $propertyMapperConfiguration->allowAllProperties();
 
@@ -186,7 +185,7 @@ class ObjectConverterTest extends FunctionalTestCase
         static::expectExceptionCode(1297759968);
         static::expectExceptionMessage('Exception while property mapping at property path "": Type of child property "' . $propertyName . '" of class "' . $className . '" could not be derived from constructor arguments as said class does not have a constructor defined.');
 
-        $propertyMapper = GeneralUtility::getContainer()->get(PropertyMapper::class);
+        $propertyMapper = $this->getContainer()->get(PropertyMapper::class);
         $propertyMapperConfiguration = new PropertyMappingConfiguration();
         $propertyMapperConfiguration->allowAllProperties();
 
@@ -215,7 +214,7 @@ class ObjectConverterTest extends FunctionalTestCase
         static::expectExceptionCode(1297759968);
         static::expectExceptionMessage('Exception while property mapping at property path "": Type of child property "' . $propertyName . '" of class "' . $className . '" could not be derived from constructor arguments as the constructor of said class does not have a parameter with property name "' . $propertyName . '".');
 
-        $propertyMapper = GeneralUtility::getContainer()->get(PropertyMapper::class);
+        $propertyMapper = $this->getContainer()->get(PropertyMapper::class);
         $propertyMapperConfiguration = new PropertyMappingConfiguration();
         $propertyMapperConfiguration->allowAllProperties();
 
@@ -244,7 +243,7 @@ class ObjectConverterTest extends FunctionalTestCase
         static::expectExceptionCode(1297759968);
         static::expectExceptionMessage('Exception while property mapping at property path "": Type of child property "' . $propertyName . '" of class "' . $className . '" could not be derived from constructor argument "' . $propertyName . '". This usually happens if the argument misses a type hint.');
 
-        $propertyMapper = GeneralUtility::getContainer()->get(PropertyMapper::class);
+        $propertyMapper = $this->getContainer()->get(PropertyMapper::class);
         $propertyMapperConfiguration = new PropertyMappingConfiguration();
         $propertyMapperConfiguration->allowAllProperties();
 
@@ -270,7 +269,7 @@ class ObjectConverterTest extends FunctionalTestCase
             }
         };
 
-        $propertyMapper = GeneralUtility::getContainer()->get(PropertyMapper::class);
+        $propertyMapper = $this->getContainer()->get(PropertyMapper::class);
         $propertyMapperConfiguration = new PropertyMappingConfiguration();
         $propertyMapperConfiguration->allowAllProperties();
 
@@ -294,7 +293,7 @@ class ObjectConverterTest extends FunctionalTestCase
             private $name;
         };
 
-        $propertyMapper = GeneralUtility::getContainer()->get(PropertyMapper::class);
+        $propertyMapper = $this->getContainer()->get(PropertyMapper::class);
         $propertyMapperConfiguration = new PropertyMappingConfiguration();
         $propertyMapperConfiguration->allowAllProperties();
         $propertyMapperConfiguration
@@ -328,7 +327,7 @@ class ObjectConverterTest extends FunctionalTestCase
             }
         };
 
-        $result = GeneralUtility::getContainer()->get(PropertyMapper::class)->convert(
+        $result = $this->getContainer()->get(PropertyMapper::class)->convert(
             ['name' => 'foo'],
             get_class($class)
         );
@@ -356,7 +355,7 @@ class ObjectConverterTest extends FunctionalTestCase
             }
         };
 
-        GeneralUtility::getContainer()->get(PropertyMapper::class)->convert(
+        $this->getContainer()->get(PropertyMapper::class)->convert(
             ['name' => 'foo'],
             get_class($class)
         );
@@ -374,7 +373,7 @@ class ObjectConverterTest extends FunctionalTestCase
         $class = new class() {
         };
 
-        GeneralUtility::getContainer()->get(PropertyMapper::class)->convert(
+        $this->getContainer()->get(PropertyMapper::class)->convert(
             ['__type' => Animal::class],
             get_class($class)
         );
@@ -400,7 +399,7 @@ class ObjectConverterTest extends FunctionalTestCase
             true
         );
 
-        GeneralUtility::getContainer()->get(PropertyMapper::class)->convert(
+        $this->getContainer()->get(PropertyMapper::class)->convert(
             ['__type' => Animal::class],
             get_class($class),
             $propertyMapperConfiguration
diff --git a/typo3/sysext/extbase/Tests/Functional/Property/TypeConverter/ObjectStorageConverterTest.php b/typo3/sysext/extbase/Tests/Functional/Property/TypeConverter/ObjectStorageConverterTest.php
index ed9dcce1aee4..841c664bd450 100644
--- a/typo3/sysext/extbase/Tests/Functional/Property/TypeConverter/ObjectStorageConverterTest.php
+++ b/typo3/sysext/extbase/Tests/Functional/Property/TypeConverter/ObjectStorageConverterTest.php
@@ -17,7 +17,6 @@ declare(strict_types=1);
 
 namespace TYPO3\CMS\Extbase\Tests\Functional\Property\TypeConverter;
 
-use TYPO3\CMS\Core\Utility\GeneralUtility;
 use TYPO3\CMS\Extbase\Persistence\ObjectStorage;
 use TYPO3\CMS\Extbase\Property\PropertyMapper;
 use TYPO3\CMS\Extbase\Property\PropertyMappingConfiguration;
@@ -35,7 +34,7 @@ class ObjectStorageConverterTest extends FunctionalTestCase
         $propertyMapperConfiguration->allowAllProperties();
         $propertyMapperConfiguration->forProperty('foo')->allowAllProperties();
 
-        $propertyMapper = GeneralUtility::getContainer()->get(PropertyMapper::class);
+        $propertyMapper = $this->getContainer()->get(PropertyMapper::class);
 
         $objectStorage = $propertyMapper->convert(
             [
@@ -61,7 +60,7 @@ class ObjectStorageConverterTest extends FunctionalTestCase
         $propertyMapperConfiguration = new PropertyMappingConfiguration();
         $propertyMapperConfiguration->forProperty('foo')->allowAllProperties();
 
-        $propertyMapper = GeneralUtility::getContainer()->get(PropertyMapper::class);
+        $propertyMapper = $this->getContainer()->get(PropertyMapper::class);
 
         $objectStorage = $propertyMapper->convert(
             'foo',
diff --git a/typo3/sysext/extbase/Tests/Functional/Property/TypeConverter/PersistentObjectConverterTest.php b/typo3/sysext/extbase/Tests/Functional/Property/TypeConverter/PersistentObjectConverterTest.php
index a0d4926c3af4..d0a5d2308fc9 100644
--- a/typo3/sysext/extbase/Tests/Functional/Property/TypeConverter/PersistentObjectConverterTest.php
+++ b/typo3/sysext/extbase/Tests/Functional/Property/TypeConverter/PersistentObjectConverterTest.php
@@ -17,7 +17,6 @@ declare(strict_types=1);
 
 namespace TYPO3\CMS\Extbase\Tests\Functional\Property\TypeConverter;
 
-use TYPO3\CMS\Core\Utility\GeneralUtility;
 use TYPO3\CMS\Extbase\Domain\Model\BackendUser;
 use TYPO3\CMS\Extbase\Property\Exception;
 use TYPO3\CMS\Extbase\Property\Exception\TargetNotFoundException;
@@ -39,7 +38,7 @@ class PersistentObjectConverterTest extends FunctionalTestCase
      */
     public function converterReturnsNullWithEmptyStringsOrIntegers()
     {
-        $propertyMapper = GeneralUtility::getContainer()->get(PropertyMapper::class);
+        $propertyMapper = $this->getContainer()->get(PropertyMapper::class);
 
         self::assertNull($propertyMapper->convert(0, BackendUser::class));
         self::assertNull($propertyMapper->convert('', BackendUser::class));
@@ -54,7 +53,7 @@ class PersistentObjectConverterTest extends FunctionalTestCase
         static::expectExceptionCode(1297759968);
         static::expectExceptionMessage('Exception while property mapping at property path "": The identity property "foo" is no UID.');
 
-        GeneralUtility::getContainer()->get(PropertyMapper::class)->convert('foo', BackendUser::class);
+        $this->getContainer()->get(PropertyMapper::class)->convert('foo', BackendUser::class);
     }
 
     /**
@@ -66,7 +65,7 @@ class PersistentObjectConverterTest extends FunctionalTestCase
         static::expectExceptionCode(1297933823);
         static::expectExceptionMessage('Object of type TYPO3\CMS\Extbase\Domain\Model\BackendUser with identity "2" not found.');
 
-        GeneralUtility::getContainer()->get(PropertyMapper::class)->convert(2, BackendUser::class);
+        $this->getContainer()->get(PropertyMapper::class)->convert(2, BackendUser::class);
     }
 
     /**
@@ -74,7 +73,7 @@ class PersistentObjectConverterTest extends FunctionalTestCase
      */
     public function converterFetchesObjectFromPersistenceIfSourceIsAnInteger()
     {
-        $propertyMapper = GeneralUtility::getContainer()->get(PropertyMapper::class);
+        $propertyMapper = $this->getContainer()->get(PropertyMapper::class);
 
         $backendUser = $propertyMapper->convert(1, BackendUser::class);
 
@@ -87,7 +86,7 @@ class PersistentObjectConverterTest extends FunctionalTestCase
      */
     public function converterFetchesObjectFromPersistenceIfSourceIsANumericString()
     {
-        $propertyMapper = GeneralUtility::getContainer()->get(PropertyMapper::class);
+        $propertyMapper = $this->getContainer()->get(PropertyMapper::class);
 
         $backendUser = $propertyMapper->convert('1', BackendUser::class);
 
@@ -100,7 +99,7 @@ class PersistentObjectConverterTest extends FunctionalTestCase
      */
     public function converterBuildsEmptyObjectIfSourceIsAnEmptyArray()
     {
-        $propertyMapper = GeneralUtility::getContainer()->get(PropertyMapper::class);
+        $propertyMapper = $this->getContainer()->get(PropertyMapper::class);
 
         $backendUser = $propertyMapper->convert([], BackendUser::class);
 
@@ -113,7 +112,7 @@ class PersistentObjectConverterTest extends FunctionalTestCase
      */
     public function converterFetchesObjectFromPersistenceIfSourceIsAnArrayWithIdentityKey()
     {
-        $propertyMapper = GeneralUtility::getContainer()->get(PropertyMapper::class);
+        $propertyMapper = $this->getContainer()->get(PropertyMapper::class);
 
         $backendUser = $propertyMapper->convert(['__identity' => 1], BackendUser::class);
 
@@ -137,7 +136,7 @@ class PersistentObjectConverterTest extends FunctionalTestCase
             false
         );
 
-        GeneralUtility::getContainer()->get(PropertyMapper::class)->convert(
+        $this->getContainer()->get(PropertyMapper::class)->convert(
             [],
             BackendUser::class,
             $propertyMapperConfiguration
@@ -149,7 +148,7 @@ class PersistentObjectConverterTest extends FunctionalTestCase
      */
     public function converterRespectsAndSetsProperties()
     {
-        $propertyMapper = GeneralUtility::getContainer()->get(PropertyMapper::class);
+        $propertyMapper = $this->getContainer()->get(PropertyMapper::class);
 
         $backendUser = $propertyMapper->convert(['userName' => 'johndoe'], BackendUser::class);
 
@@ -167,7 +166,7 @@ class PersistentObjectConverterTest extends FunctionalTestCase
         static::expectExceptionCode(1297759968);
         static::expectExceptionMessage('Exception while property mapping at property path "": Property "nonExistant" was not found in target object of type "TYPO3\CMS\Extbase\Domain\Model\BackendUser".');
 
-        GeneralUtility::getContainer()->get(PropertyMapper::class)->convert(['nonExistant' => 'johndoe'], BackendUser::class);
+        $this->getContainer()->get(PropertyMapper::class)->convert(['nonExistant' => 'johndoe'], BackendUser::class);
     }
 
     /**
@@ -179,6 +178,6 @@ class PersistentObjectConverterTest extends FunctionalTestCase
         static::expectExceptionCode(1297759968);
         static::expectExceptionMessage('Exception while property mapping at property path "": Property "uid" having a value of type "integer" could not be set in target object of type "TYPO3\CMS\Extbase\Domain\Model\BackendUser"');
 
-        GeneralUtility::getContainer()->get(PropertyMapper::class)->convert(['uid' => 7], BackendUser::class);
+        $this->getContainer()->get(PropertyMapper::class)->convert(['uid' => 7], BackendUser::class);
     }
 }
diff --git a/typo3/sysext/extbase/Tests/Functional/Property/TypeConverter/StringConverterTest.php b/typo3/sysext/extbase/Tests/Functional/Property/TypeConverter/StringConverterTest.php
index f121d4b49260..ea2c4ae540ce 100644
--- a/typo3/sysext/extbase/Tests/Functional/Property/TypeConverter/StringConverterTest.php
+++ b/typo3/sysext/extbase/Tests/Functional/Property/TypeConverter/StringConverterTest.php
@@ -17,7 +17,6 @@ declare(strict_types=1);
 
 namespace TYPO3\CMS\Extbase\Tests\Functional\Property\TypeConverter;
 
-use TYPO3\CMS\Core\Utility\GeneralUtility;
 use TYPO3\CMS\Extbase\Property\PropertyMapper;
 use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase;
 
@@ -28,7 +27,7 @@ class StringConverterTest extends FunctionalTestCase
      */
     public function convertToString()
     {
-        $propertyMapper = GeneralUtility::getContainer()->get(PropertyMapper::class);
+        $propertyMapper = $this->getContainer()->get(PropertyMapper::class);
 
         self::assertSame('string', $propertyMapper->convert('string', 'string'));
         self::assertSame('10', $propertyMapper->convert(10, 'string'));
-- 
GitLab