diff --git a/typo3/sysext/core/Tests/Unit/Cache/Backend/MockBackend.php b/typo3/sysext/core/Tests/Unit/Cache/Backend/MockBackend.php
deleted file mode 100644
index 8bfe9013e6b97a20cdb314b9e18cbaf50af9ac63..0000000000000000000000000000000000000000
--- a/typo3/sysext/core/Tests/Unit/Cache/Backend/MockBackend.php
+++ /dev/null
@@ -1,52 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-/*
- * This file is part of the TYPO3 CMS project.
- *
- * It is free software; you can redistribute it and/or modify it under
- * the terms of the GNU General Public License, either version 2
- * of the License, or any later version.
- *
- * For the full copyright and license information, please read the
- * LICENSE.txt file that was distributed with this source code.
- *
- * The TYPO3 project - inspiring people to share!
- */
-
-namespace TYPO3\CMS\Core\Tests\Unit\Cache\Backend;
-
-use TYPO3\CMS\Core\Cache\Backend\NullBackend;
-
-/**
- * A caching backend which forgets everything immediately
- * Used in FactoryTest
- */
-class MockBackend extends NullBackend
-{
-    /**
-     * @var mixed
-     */
-    protected $someOption;
-
-    /**
-     * Sets some option
-     *
-     * @param mixed $value
-     */
-    public function setSomeOption($value): void
-    {
-        $this->someOption = $value;
-    }
-
-    /**
-     * Returns the option value
-     *
-     * @return mixed
-     */
-    public function getSomeOption()
-    {
-        return $this->someOption;
-    }
-}
diff --git a/typo3/sysext/core/Tests/Unit/Cache/Backend/TransientMemoryBackendTest.php b/typo3/sysext/core/Tests/Unit/Cache/Backend/TransientMemoryBackendTest.php
index 81d02162c97ed8e4119809dc032f9a1e4f4e0f65..6521e988bef0b20ead2fde1de560f6f1e4ad0e1b 100644
--- a/typo3/sysext/core/Tests/Unit/Cache/Backend/TransientMemoryBackendTest.php
+++ b/typo3/sysext/core/Tests/Unit/Cache/Backend/TransientMemoryBackendTest.php
@@ -23,9 +23,6 @@ use TYPO3\CMS\Core\Cache\Exception;
 use TYPO3\CMS\Core\Cache\Frontend\FrontendInterface;
 use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
 
-/**
- * Testcase for the TransientMemory cache backend
- */
 final class TransientMemoryBackendTest extends UnitTestCase
 {
     protected bool $resetSingletonInstances = true;
@@ -35,7 +32,6 @@ final class TransientMemoryBackendTest extends UnitTestCase
     {
         $this->expectException(Exception::class);
         $this->expectExceptionCode(1238244992);
-
         $backend = new TransientMemoryBackend('Testing');
         $data = 'Some data';
         $identifier = 'MyIdentifier';
diff --git a/typo3/sysext/core/Tests/Unit/Cache/Backend/Typo3DatabaseBackendTest.php b/typo3/sysext/core/Tests/Unit/Cache/Backend/Typo3DatabaseBackendTest.php
index fe21f51a0a0b725c0fb207fa0af1346df343ee2f..1fd8ec76b2527aea8a23c4eb8800570cb9e4f29b 100644
--- a/typo3/sysext/core/Tests/Unit/Cache/Backend/Typo3DatabaseBackendTest.php
+++ b/typo3/sysext/core/Tests/Unit/Cache/Backend/Typo3DatabaseBackendTest.php
@@ -37,7 +37,6 @@ final class Typo3DatabaseBackendTest extends UnitTestCase
         $frontend = new NullFrontend('test');
         $subject = new Typo3DatabaseBackend('Testing');
         $subject->setCache($frontend);
-
         self::assertEquals('cache_test', $subject->getCacheTable());
     }
 
@@ -63,67 +62,65 @@ final class Typo3DatabaseBackendTest extends UnitTestCase
     #[Test]
     public function setThrowsExceptionIfDataIsNotAString(): void
     {
+        $this->expectException(InvalidDataException::class);
+        $this->expectExceptionCode(1236518298);
         $frontend = new NullFrontend('test');
         $subject = new Typo3DatabaseBackend('Testing');
         $subject->setCache($frontend);
-
-        $this->expectException(InvalidDataException::class);
-        $this->expectExceptionCode(1236518298);
-
         $subject->set('identifier', ['iAmAnArray']);
     }
 
     #[Test]
     public function getThrowsExceptionIfFrontendWasNotSet(): void
     {
-        $subject = new Typo3DatabaseBackend('Testing');
         $this->expectException(Exception::class);
         $this->expectExceptionCode(1236518288);
+        $subject = new Typo3DatabaseBackend('Testing');
         $subject->get('identifier');
     }
 
     #[Test]
     public function hasThrowsExceptionIfFrontendWasNotSet(): void
     {
-        $subject = new Typo3DatabaseBackend('Testing');
         $this->expectException(Exception::class);
         $this->expectExceptionCode(1236518288);
+        $subject = new Typo3DatabaseBackend('Testing');
         $subject->has('identifier');
     }
 
     #[Test]
     public function removeThrowsExceptionIfFrontendWasNotSet(): void
     {
-        $subject = new Typo3DatabaseBackend('Testing');
         $this->expectException(Exception::class);
         $this->expectExceptionCode(1236518288);
+        $subject = new Typo3DatabaseBackend('Testing');
         $subject->remove('identifier');
     }
 
     #[Test]
     public function collectGarbageThrowsExceptionIfFrontendWasNotSet(): void
     {
-        $subject = new Typo3DatabaseBackend('Testing');
         $this->expectException(Exception::class);
         $this->expectExceptionCode(1236518288);
+        $subject = new Typo3DatabaseBackend('Testing');
         $subject->collectGarbage();
     }
 
     #[Test]
     public function findIdentifiersByTagThrowsExceptionIfFrontendWasNotSet(): void
     {
-        $subject = new Typo3DatabaseBackend('Testing');
         $this->expectException(Exception::class);
         $this->expectExceptionCode(1236518288);
+        $subject = new Typo3DatabaseBackend('Testing');
         $subject->findIdentifiersByTag('identifier');
     }
 
     #[Test]
     public function flushThrowsExceptionIfFrontendWasNotSet(): void
     {
-        $subject = new Typo3DatabaseBackend('Testing');
         $this->expectException(Exception::class);
         $this->expectExceptionCode(1236518288);
+        $subject = new Typo3DatabaseBackend('Testing');
         $subject->flush();
     }
 
@@ -210,18 +207,18 @@ final class Typo3DatabaseBackendTest extends UnitTestCase
     #[Test]
     public function flushByTagThrowsExceptionIfFrontendWasNotSet(): void
     {
-        $subject = new Typo3DatabaseBackend('Testing');
         $this->expectException(Exception::class);
         $this->expectExceptionCode(1236518288);
+        $subject = new Typo3DatabaseBackend('Testing');
         $subject->flushByTag('Tag');
     }
 
     #[Test]
     public function flushByTagsThrowsExceptionIfFrontendWasNotSet(): void
     {
-        $subject = new Typo3DatabaseBackend('Testing');
         $this->expectException(Exception::class);
         $this->expectExceptionCode(1236518288);
+        $subject = new Typo3DatabaseBackend('Testing');
         $subject->flushByTags([]);
     }
 }
diff --git a/typo3/sysext/core/Tests/Unit/Cache/Fixtures/BackendConfigurationOptionFixture.php b/typo3/sysext/core/Tests/Unit/Cache/Fixtures/BackendConfigurationOptionFixture.php
index 1197fd4e44b978486fea963e9b63b1eb9ad0b250..53a6a4b8ff13d47ddb57e3aa45d538f2d3ea65cf 100644
--- a/typo3/sysext/core/Tests/Unit/Cache/Fixtures/BackendConfigurationOptionFixture.php
+++ b/typo3/sysext/core/Tests/Unit/Cache/Fixtures/BackendConfigurationOptionFixture.php
@@ -17,9 +17,6 @@ declare(strict_types=1);
 
 namespace TYPO3\CMS\Core\Tests\Unit\Cache\Fixtures;
 
-/**
- * Backend fixture for CacheManager test getCacheCreatesBackendWithGivenConfiguration()
- */
 class BackendConfigurationOptionFixture extends BackendFixture
 {
     /**
diff --git a/typo3/sysext/core/Tests/Unit/Cache/Fixtures/BackendDefaultFixture.php b/typo3/sysext/core/Tests/Unit/Cache/Fixtures/BackendDefaultFixture.php
index 642962fdff297fed0617ca718ef55b075bb5fb9f..e13c42f04bbf168e783e7dcedb996bc0bb3448b1 100644
--- a/typo3/sysext/core/Tests/Unit/Cache/Fixtures/BackendDefaultFixture.php
+++ b/typo3/sysext/core/Tests/Unit/Cache/Fixtures/BackendDefaultFixture.php
@@ -17,9 +17,6 @@ declare(strict_types=1);
 
 namespace TYPO3\CMS\Core\Tests\Unit\Cache\Fixtures;
 
-/**
-* Backend for cache manager test getCacheCreatesCacheInstanceWithFallbackToDefaultBackend
-*/
 class BackendDefaultFixture extends BackendFixture
 {
     public function __construct()
diff --git a/typo3/sysext/core/Tests/Unit/Cache/Fixtures/BackendFixture.php b/typo3/sysext/core/Tests/Unit/Cache/Fixtures/BackendFixture.php
index 3828440f528d209cf2d3176fdc435719584e605f..a916cddd8eb81ba00d4f83eb933af885ac686860 100644
--- a/typo3/sysext/core/Tests/Unit/Cache/Fixtures/BackendFixture.php
+++ b/typo3/sysext/core/Tests/Unit/Cache/Fixtures/BackendFixture.php
@@ -20,9 +20,6 @@ namespace TYPO3\CMS\Core\Tests\Unit\Cache\Fixtures;
 use TYPO3\CMS\Core\Cache\Backend\BackendInterface;
 use TYPO3\CMS\Core\Cache\Frontend\FrontendInterface;
 
-/**
- * Backend fixture to test cache manager.
- */
 class BackendFixture implements BackendInterface
 {
     public function setCache(FrontendInterface $cache): void {}
diff --git a/typo3/sysext/core/Tests/Unit/Cache/Fixtures/BackendInitializeObjectFixture.php b/typo3/sysext/core/Tests/Unit/Cache/Fixtures/BackendInitializeObjectFixture.php
index 2424f777f7ee962dacee5816b42d076c0d7ce7bb..9aace3bc8d46b06b64198769200f1affef8d5f77 100644
--- a/typo3/sysext/core/Tests/Unit/Cache/Fixtures/BackendInitializeObjectFixture.php
+++ b/typo3/sysext/core/Tests/Unit/Cache/Fixtures/BackendInitializeObjectFixture.php
@@ -17,9 +17,6 @@ declare(strict_types=1);
 
 namespace TYPO3\CMS\Core\Tests\Unit\Cache\Fixtures;
 
-/**
- * Fixture to test cache manager details
- */
 class BackendInitializeObjectFixture extends BackendFixture
 {
     public function initializeObject(): void
diff --git a/typo3/sysext/core/Tests/Unit/Cache/Fixtures/FrontendBackendInstanceFixture.php b/typo3/sysext/core/Tests/Unit/Cache/Fixtures/FrontendBackendInstanceFixture.php
index d5506575b121d73e9fdea5c8f1d215e5e3c0d02c..d3731083ca09c983014c09d070112d690561ab96 100644
--- a/typo3/sysext/core/Tests/Unit/Cache/Fixtures/FrontendBackendInstanceFixture.php
+++ b/typo3/sysext/core/Tests/Unit/Cache/Fixtures/FrontendBackendInstanceFixture.php
@@ -17,9 +17,6 @@ declare(strict_types=1);
 
 namespace TYPO3\CMS\Core\Tests\Unit\Cache\Fixtures;
 
-/**
-* Frontend for cache manager test getCacheGivesBackendInstanceToCacheFrontend
-*/
 class FrontendBackendInstanceFixture extends FrontendFixture
 {
     public function __construct($_, $backend)
diff --git a/typo3/sysext/core/Tests/Unit/Cache/Fixtures/FrontendDefaultFixture.php b/typo3/sysext/core/Tests/Unit/Cache/Fixtures/FrontendDefaultFixture.php
index a658f4f4fa329c9472703be68156ea6f799db81e..405c61ea523ddd8d84904bae9d0107085d77e493 100644
--- a/typo3/sysext/core/Tests/Unit/Cache/Fixtures/FrontendDefaultFixture.php
+++ b/typo3/sysext/core/Tests/Unit/Cache/Fixtures/FrontendDefaultFixture.php
@@ -17,9 +17,6 @@ declare(strict_types=1);
 
 namespace TYPO3\CMS\Core\Tests\Unit\Cache\Fixtures;
 
-/**
-* Frontend for cache manager test getCacheCreatesCacheInstanceWithFallbackToDefaultFrontend
-*/
 class FrontendDefaultFixture extends FrontendFixture
 {
     public function __construct()
diff --git a/typo3/sysext/core/Tests/Unit/Cache/Fixtures/FrontendFixture.php b/typo3/sysext/core/Tests/Unit/Cache/Fixtures/FrontendFixture.php
index cd6c91915b627b9bbcba69446de35b2c58b03acb..2a0c1e6ac9bc9fe52342b7cb18eaabe3178d5731 100644
--- a/typo3/sysext/core/Tests/Unit/Cache/Fixtures/FrontendFixture.php
+++ b/typo3/sysext/core/Tests/Unit/Cache/Fixtures/FrontendFixture.php
@@ -19,9 +19,6 @@ namespace TYPO3\CMS\Core\Tests\Unit\Cache\Fixtures;
 
 use TYPO3\CMS\Core\Cache\Frontend\FrontendInterface;
 
-/**
-* Fixture implementing frontend
-*/
 class FrontendFixture implements FrontendInterface
 {
     protected string $identifier;
diff --git a/typo3/sysext/core/Tests/Unit/Cache/Fixtures/FrontendIdentifierFixture.php b/typo3/sysext/core/Tests/Unit/Cache/Fixtures/FrontendIdentifierFixture.php
index 6d203275cbe40cef1f7cdda55f732b095e11b23c..153ff539049a2f7634c0f5994b1bf67f662aea22 100644
--- a/typo3/sysext/core/Tests/Unit/Cache/Fixtures/FrontendIdentifierFixture.php
+++ b/typo3/sysext/core/Tests/Unit/Cache/Fixtures/FrontendIdentifierFixture.php
@@ -17,9 +17,6 @@ declare(strict_types=1);
 
 namespace TYPO3\CMS\Core\Tests\Unit\Cache\Fixtures;
 
-/**
-* Frontend for cache manager test getCacheGivesIdentifierToCacheFrontend
-*/
 class FrontendIdentifierFixture extends FrontendFixture
 {
     public function __construct($identifier)
diff --git a/typo3/sysext/core/Tests/Unit/Cache/Fixtures/FrontendInitializeObjectFixture.php b/typo3/sysext/core/Tests/Unit/Cache/Fixtures/FrontendInitializeObjectFixture.php
index 85b48b782fbf7c03578553a64ca7e48c553bee35..f0aca8f9bf50a5abf8b060700b679c8f6a83e7b1 100644
--- a/typo3/sysext/core/Tests/Unit/Cache/Fixtures/FrontendInitializeObjectFixture.php
+++ b/typo3/sysext/core/Tests/Unit/Cache/Fixtures/FrontendInitializeObjectFixture.php
@@ -17,9 +17,6 @@ declare(strict_types=1);
 
 namespace TYPO3\CMS\Core\Tests\Unit\Cache\Fixtures;
 
-/**
-* Fixture implementing frontend
-*/
 class FrontendInitializeObjectFixture extends FrontendFixture
 {
     public function initializeObject(): void
diff --git a/typo3/sysext/core/Tests/Unit/Cache/Frontend/AbstractFrontendTest.php b/typo3/sysext/core/Tests/Unit/Cache/Frontend/AbstractFrontendTest.php
deleted file mode 100644
index 0338d06de5e03a4e9b13f63264585ef5c13ed48a..0000000000000000000000000000000000000000
--- a/typo3/sysext/core/Tests/Unit/Cache/Frontend/AbstractFrontendTest.php
+++ /dev/null
@@ -1,206 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-/*
- * This file is part of the TYPO3 CMS project.
- *
- * It is free software; you can redistribute it and/or modify it under
- * the terms of the GNU General Public License, either version 2
- * of the License, or any later version.
- *
- * For the full copyright and license information, please read the
- * LICENSE.txt file that was distributed with this source code.
- *
- * The TYPO3 project - inspiring people to share!
- */
-
-namespace TYPO3\CMS\Core\Tests\Unit\Cache\Frontend;
-
-use PHPUnit\Framework\Attributes\Test;
-use TYPO3\CMS\Core\Cache\Backend\AbstractBackend;
-use TYPO3\CMS\Core\Cache\Backend\TaggableBackendInterface;
-use TYPO3\CMS\Core\Cache\Frontend\VariableFrontend;
-use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
-
-/**
- * Testcase for the abstract cache frontend
- */
-final class AbstractFrontendTest extends UnitTestCase
-{
-    #[Test]
-    public function theConstructorAcceptsValidIdentifiers(): void
-    {
-        $mockBackend = $this->getMockBuilder(AbstractBackend::class)
-            ->onlyMethods(['get', 'set', 'has', 'remove', 'flush', 'collectGarbage'])
-            ->addMethods(['findIdentifiersByTag', 'flushByTag'])
-            ->disableOriginalConstructor()
-            ->getMock();
-        foreach (['x', 'someValue', '123fivesixseveneight', 'some&', 'ab_cd%', rawurlencode('resource://some/äöü$&% sadf'), str_repeat('x', 250)] as $identifier) {
-            $this->getMockBuilder(VariableFrontend::class)
-                ->onlyMethods(['__construct', 'get', 'set', 'has', 'remove', 'flush', 'flushByTag', 'collectGarbage'])
-                ->setConstructorArgs([$identifier, $mockBackend])
-                ->getMock();
-        }
-    }
-
-    #[Test]
-    public function theConstructorRejectsInvalidIdentifiers(): void
-    {
-        $mockBackend = $this->getMockBuilder(AbstractBackend::class)
-            ->onlyMethods(['get', 'set', 'has', 'remove', 'flush', 'collectGarbage'])
-            ->addMethods(['findIdentifiersByTag', 'flushByTag'])
-            ->disableOriginalConstructor()
-            ->getMock();
-        foreach (['', 'abc def', 'foo!', 'bar:', 'some/', 'bla*', 'one+', 'äöü', str_repeat('x', 251), 'x$', '\\a', 'b#'] as $identifier) {
-            try {
-                $this->getMockBuilder(VariableFrontend::class)
-                    ->onlyMethods(['__construct', 'get', 'set', 'has', 'remove', 'flush', 'flushByTag', 'collectGarbage'])
-                    ->setConstructorArgs([$identifier, $mockBackend])
-                    ->getMock();
-                self::fail('Identifier "' . $identifier . '" was not rejected.');
-            } catch (\InvalidArgumentException $exception) {
-            }
-        }
-    }
-
-    #[Test]
-    public function flushCallsBackend(): void
-    {
-        $identifier = 'someCacheIdentifier';
-        $backend = $this->getMockBuilder(AbstractBackend::class)
-            ->onlyMethods(['get', 'set', 'has', 'remove', 'flush', 'collectGarbage'])
-            ->addMethods(['findIdentifiersByTag', 'flushByTag'])
-            ->disableOriginalConstructor()
-            ->getMock();
-        $backend->expects(self::once())->method('flush');
-        $cache = $this->getMockBuilder(VariableFrontend::class)
-            ->onlyMethods(['__construct', 'get', 'set', 'has', 'remove'])
-            ->setConstructorArgs([$identifier, $backend])
-            ->getMock();
-        $cache->flush();
-    }
-
-    #[Test]
-    public function flushByTagRejectsInvalidTags(): void
-    {
-        $this->expectException(\InvalidArgumentException::class);
-        $this->expectExceptionCode(1233057359);
-
-        $identifier = 'someCacheIdentifier';
-        $backend = $this->createMock(TaggableBackendInterface::class);
-        $backend->expects(self::never())->method('flushByTag');
-        $cache = $this->getMockBuilder(VariableFrontend::class)
-            ->onlyMethods(['__construct', 'get', 'set', 'has', 'remove'])
-            ->setConstructorArgs([$identifier, $backend])
-            ->getMock();
-        $cache->flushByTag('SomeInvalid\\Tag');
-    }
-
-    #[Test]
-    public function flushByTagCallsBackendIfItIsATaggableBackend(): void
-    {
-        $tag = 'sometag';
-        $identifier = 'someCacheIdentifier';
-        $backend = $this->getMockBuilder(TaggableBackendInterface::class)
-            ->onlyMethods(['setCache', 'get', 'set', 'has', 'remove', 'findIdentifiersByTag', 'flush', 'flushByTag', 'flushByTags', 'collectGarbage'])
-            ->disableOriginalConstructor()
-            ->getMock();
-        $backend->expects(self::once())->method('flushByTag')->with($tag);
-        $cache = $this->getMockBuilder(VariableFrontend::class)
-            ->onlyMethods(['__construct', 'get', 'set', 'has', 'remove'])
-            ->setConstructorArgs([$identifier, $backend])
-            ->getMock();
-        $cache->flushByTag($tag);
-    }
-
-    #[Test]
-    public function flushByTagsCallsBackendIfItIsATaggableBackend(): void
-    {
-        $tag = 'sometag';
-        $identifier = 'someCacheIdentifier';
-        $backend = $this->getMockBuilder(TaggableBackendInterface::class)
-            ->onlyMethods(['setCache', 'get', 'set', 'has', 'remove', 'findIdentifiersByTag', 'flush', 'flushByTag', 'flushByTags', 'collectGarbage'])
-            ->disableOriginalConstructor()
-            ->getMock();
-        $backend->expects(self::once())->method('flushByTags')->with([$tag]);
-        $cache = $this->getMockBuilder(VariableFrontend::class)
-            ->onlyMethods(['__construct', 'get', 'set', 'has', 'remove'])
-            ->setConstructorArgs([$identifier, $backend])
-            ->getMock();
-        $cache->flushByTags([$tag]);
-    }
-
-    #[Test]
-    public function collectGarbageCallsBackend(): void
-    {
-        $identifier = 'someCacheIdentifier';
-        $backend = $this->getMockBuilder(AbstractBackend::class)
-            ->onlyMethods(['get', 'set', 'has', 'remove', 'flush', 'collectGarbage'])
-            ->addMethods(['findIdentifiersByTag', 'flushByTag'])
-            ->disableOriginalConstructor()
-            ->getMock();
-        $backend->expects(self::once())->method('collectGarbage');
-        $cache = $this->getMockBuilder(VariableFrontend::class)
-            ->onlyMethods(['__construct', 'get', 'set', 'has', 'remove'])
-            ->setConstructorArgs([$identifier, $backend])
-            ->getMock();
-        $cache->collectGarbage();
-    }
-
-    #[Test]
-    public function invalidEntryIdentifiersAreRecognizedAsInvalid(): void
-    {
-        $identifier = 'someCacheIdentifier';
-        $backend = $this->createMock(AbstractBackend::class);
-        $cache = $this->getMockBuilder(VariableFrontend::class)
-            ->onlyMethods(['__construct', 'get', 'set', 'has', 'remove'])
-            ->setConstructorArgs([$identifier, $backend])
-            ->getMock();
-        foreach (['', 'abc def', 'foo!', 'bar:', 'some/', 'bla*', 'one+', 'äöü', str_repeat('x', 251), 'x$', '\\a', 'b#'] as $entryIdentifier) {
-            self::assertFalse($cache->isValidEntryIdentifier($entryIdentifier), 'Invalid identifier "' . $entryIdentifier . '" was not rejected.');
-        }
-    }
-
-    #[Test]
-    public function validEntryIdentifiersAreRecognizedAsValid(): void
-    {
-        $identifier = 'someCacheIdentifier';
-        $backend = $this->createMock(AbstractBackend::class);
-        $cache = $this->getMockBuilder(VariableFrontend::class)
-            ->onlyMethods(['__construct', 'get', 'set', 'has', 'remove'])
-            ->setConstructorArgs([$identifier, $backend])
-            ->getMock();
-        foreach (['_', 'abcdef', 'foo', 'bar123', '3some', '_bl_a', 'some&', 'one%TWO', str_repeat('x', 250)] as $entryIdentifier) {
-            self::assertTrue($cache->isValidEntryIdentifier($entryIdentifier), 'Valid identifier "' . $entryIdentifier . '" was not accepted.');
-        }
-    }
-
-    #[Test]
-    public function invalidTagsAreRecognizedAsInvalid(): void
-    {
-        $identifier = 'someCacheIdentifier';
-        $backend = $this->createMock(AbstractBackend::class);
-        $cache = $this->getMockBuilder(VariableFrontend::class)
-            ->onlyMethods(['__construct', 'get', 'set', 'has', 'remove'])
-            ->setConstructorArgs([$identifier, $backend])
-            ->getMock();
-        foreach (['', 'abc def', 'foo!', 'bar:', 'some/', 'bla*', 'one+', 'äöü', str_repeat('x', 251), 'x$', '\\a', 'b#'] as $tag) {
-            self::assertFalse($cache->isValidTag($tag), 'Invalid tag "' . $tag . '" was not rejected.');
-        }
-    }
-
-    #[Test]
-    public function validTagsAreRecognizedAsValid(): void
-    {
-        $identifier = 'someCacheIdentifier';
-        $backend = $this->createMock(AbstractBackend::class);
-        $cache = $this->getMockBuilder(VariableFrontend::class)
-            ->onlyMethods(['__construct', 'get', 'set', 'has', 'remove'])
-            ->setConstructorArgs([$identifier, $backend])
-            ->getMock();
-        foreach (['abcdef', 'foo-bar', 'foo_baar', 'bar123', '3some', 'file%Thing', 'some&', '%x%', str_repeat('x', 250)] as $tag) {
-            self::assertTrue($cache->isValidTag($tag), 'Valid tag "' . $tag . '" was not accepted.');
-        }
-    }
-}
diff --git a/typo3/sysext/core/Tests/Unit/Cache/Frontend/PhpFrontendTest.php b/typo3/sysext/core/Tests/Unit/Cache/Frontend/PhpFrontendTest.php
index 56364d94a6c7404be943eaccc686bbcd394ec08e..775e0c3dce0d188d5251c0b93b6cbf672aa55243 100644
--- a/typo3/sysext/core/Tests/Unit/Cache/Frontend/PhpFrontendTest.php
+++ b/typo3/sysext/core/Tests/Unit/Cache/Frontend/PhpFrontendTest.php
@@ -17,31 +17,222 @@ declare(strict_types=1);
 
 namespace TYPO3\CMS\Core\Tests\Unit\Cache\Frontend;
 
+use PHPUnit\Framework\Attributes\DataProvider;
 use PHPUnit\Framework\Attributes\Test;
+use TYPO3\CMS\Core\Cache\Backend\FileBackend;
 use TYPO3\CMS\Core\Cache\Backend\PhpCapableBackendInterface;
 use TYPO3\CMS\Core\Cache\Backend\SimpleFileBackend;
 use TYPO3\CMS\Core\Cache\Exception\InvalidDataException;
 use TYPO3\CMS\Core\Cache\Frontend\PhpFrontend;
-use TYPO3\CMS\Core\Utility\GeneralUtility;
 use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
 
-/**
- * Testcase for the PHP source code cache frontend
- */
 final class PhpFrontendTest extends UnitTestCase
 {
+    public static function constructAcceptsValidIdentifiersDataProvider(): array
+    {
+        return [
+            ['x'],
+            ['someValue'],
+            ['123fivesixseveneight'],
+            ['some&'],
+            ['ab_cd%'],
+            [rawurlencode('resource://some/äöü$&% sadf')],
+            [str_repeat('x', 250)],
+        ];
+    }
+
+    #[Test]
+    #[DataProvider('constructAcceptsValidIdentifiersDataProvider')]
+    public function constructAcceptsValidIdentifiers(string $identifier): void
+    {
+        new PhpFrontend($identifier, $this->createMock(PhpCapableBackendInterface::class));
+    }
+
+    public static function constructRejectsInvalidIdentifiersDataProvider(): array
+    {
+        return [
+            [''],
+            ['abc def'],
+            ['foo!'],
+            ['bar:'],
+            ['some/'],
+            ['bla*'],
+            ['one+'],
+            ['äöü'],
+            [str_repeat('x', 251)],
+            ['x$'],
+            ['\\a'],
+            ['b#'],
+        ];
+    }
+
+    #[Test]
+    #[DataProvider('constructRejectsInvalidIdentifiersDataProvider')]
+    public function constructRejectsInvalidIdentifiers(string $identifier): void
+    {
+        $this->expectException(\InvalidArgumentException::class);
+        $this->expectExceptionCode(1203584729);
+        new PhpFrontend($identifier, $this->createMock(PhpCapableBackendInterface::class));
+    }
+
+    #[Test]
+    public function flushCallsBackend(): void
+    {
+        $backend = $this->createMock(PhpCapableBackendInterface::class);
+        $backend->expects(self::once())->method('flush');
+        $cache = new PhpFrontend('someCacheIdentifier', $backend);
+        $cache->flush();
+    }
+
+    #[Test]
+    public function flushByTagRejectsInvalidTags(): void
+    {
+        $this->expectException(\InvalidArgumentException::class);
+        $this->expectExceptionCode(1233057359);
+        $backend = $this->createMock(FileBackend::class);
+        $backend->expects(self::never())->method('flushByTag');
+        $cache = new PhpFrontend('someCacheIdentifier', $backend);
+        $cache->flushByTag('SomeInvalid\\Tag');
+    }
+
+    #[Test]
+    public function flushByTagCallsBackendIfItIsATaggableBackend(): void
+    {
+        $tag = 'someTag';
+        $backend = $this->createMock(FileBackend::class);
+        $backend->expects(self::once())->method('flushByTag')->with($tag);
+        $cache = new PhpFrontend('someCacheIdentifier', $backend);
+        $cache->flushByTag($tag);
+    }
+
+    #[Test]
+    public function flushByTagsCallsBackendIfItIsATaggableBackend(): void
+    {
+        $tag = 'someTag';
+        $backend = $this->createMock(FileBackend::class);
+        $backend->expects(self::once())->method('flushByTags')->with([$tag]);
+        $cache = new PhpFrontend('someCacheIdentifier', $backend);
+        $cache->flushByTags([$tag]);
+    }
+
+    #[Test]
+    public function collectGarbageCallsBackend(): void
+    {
+        $backend = $this->createMock(PhpCapableBackendInterface::class);
+        $backend->expects(self::once())->method('collectGarbage');
+        $cache = new PhpFrontend('someCacheIdentifier', $backend);
+        $cache->collectGarbage();
+    }
+
+    public static function isValidEntryIdentifierReturnsFalseWithValidIdentifierDataProvider(): array
+    {
+        return [
+            [''],
+            ['abc def'],
+            ['foo!'],
+            ['bar:'],
+            ['some/'],
+            ['bla*'],
+            ['one+'],
+            ['äöü'],
+            [str_repeat('x', 251)],
+            ['x$'],
+            ['\\a'],
+            ['b#'],
+        ];
+    }
+
+    #[Test]
+    #[DataProvider('isValidEntryIdentifierReturnsFalseWithValidIdentifierDataProvider')]
+    public function isValidEntryIdentifierReturnsFalseWithValidIdentifier(string $identifier): void
+    {
+        $backend = $this->createMock(PhpCapableBackendInterface::class);
+        $cache = new PhpFrontend('someCacheIdentifier', $backend);
+        self::assertFalse($cache->isValidEntryIdentifier($identifier));
+    }
+
+    public static function isValidEntryIdentifierReturnsTrueWithValidIdentifierDataProvider(): array
+    {
+        return [
+            ['_'],
+            ['abcdef'],
+            ['foo'],
+            ['bar123'],
+            ['3some'],
+            ['_bl_a'],
+            ['some&'],
+            ['one%TWO'],
+            [str_repeat('x', 250)],
+        ];
+    }
+
+    #[Test]
+    #[DataProvider('isValidEntryIdentifierReturnsTrueWithValidIdentifierDataProvider')]
+    public function isValidEntryIdentifierReturnsTrueWithValidIdentifier(string $identifier): void
+    {
+        $backend = $this->createMock(PhpCapableBackendInterface::class);
+        $cache = new PhpFrontend('someCacheIdentifier', $backend);
+        self::assertTrue($cache->isValidEntryIdentifier($identifier));
+    }
+
+    public static function isValidTagReturnsFalseWithInvalidTagDataProvider(): array
+    {
+        return [
+            [''],
+            ['abc def'],
+            ['foo!'],
+            ['bar:'],
+            ['some/'],
+            ['bla*'],
+            ['one+'],
+            ['äöü'],
+            [str_repeat('x', 251)],
+            ['x$'],
+            ['\\a'],
+            ['b#'],
+        ];
+    }
+
+    #[Test]
+    #[DataProvider('isValidTagReturnsFalseWithInvalidTagDataProvider')]
+    public function isValidTagReturnsFalseWithInvalidTag(string $tag): void
+    {
+        $backend = $this->createMock(PhpCapableBackendInterface::class);
+        $cache = new PhpFrontend('someCacheIdentifier', $backend);
+        self::assertFalse($cache->isValidTag($tag));
+    }
+
+    public static function isValidTagReturnsTrueWithValidTagDataProvider(): array
+    {
+        return [
+            ['abcdef'],
+            ['foo-bar'],
+            ['foo_baar'],
+            ['bar123'],
+            ['3some'],
+            ['file%Thing'],
+            ['some&'],
+            ['%x%'],
+            [str_repeat('x', 250)],
+        ];
+    }
+
+    #[Test]
+    #[DataProvider('isValidTagReturnsTrueWithValidTagDataProvider')]
+    public function isValidTagReturnsTrueWithValidTag(string $tag): void
+    {
+        $backend = $this->createMock(PhpCapableBackendInterface::class);
+        $cache = new PhpFrontend('someCacheIdentifier', $backend);
+        self::assertTrue($cache->isValidTag($tag));
+    }
+
     #[Test]
     public function setChecksIfTheIdentifierIsValid(): void
     {
         $this->expectException(\InvalidArgumentException::class);
         $this->expectExceptionCode(1264023823);
-
-        $cache = $this->getMockBuilder(PhpFrontend::class)
-            ->onlyMethods(['isValidEntryIdentifier'])
-            ->disableOriginalConstructor()
-            ->getMock();
-        $cache->expects(self::once())->method('isValidEntryIdentifier')->with('foo')->willReturn(false);
-        $cache->set('foo', 'bar');
+        $cache = new PhpFrontend('someCacheIdentifier', $this->createMock(PhpCapableBackendInterface::class));
+        $cache->set('invalid identifier', 'bar');
     }
 
     #[Test]
@@ -51,7 +242,7 @@ final class PhpFrontendTest extends UnitTestCase
         $modifiedSourceCode = '<?php' . chr(10) . $originalSourceCode . chr(10) . '#';
         $mockBackend = $this->createMock(PhpCapableBackendInterface::class);
         $mockBackend->expects(self::once())->method('set')->with('Foo-Bar', $modifiedSourceCode, ['tags'], 1234);
-        $cache = GeneralUtility::makeInstance(PhpFrontend::class, 'PhpFrontend', $mockBackend);
+        $cache = new PhpFrontend('someCacheIdentifier', $mockBackend);
         $cache->set('Foo-Bar', $originalSourceCode, ['tags'], 1234);
     }
 
@@ -60,11 +251,7 @@ final class PhpFrontendTest extends UnitTestCase
     {
         $this->expectException(InvalidDataException::class);
         $this->expectExceptionCode(1264023824);
-
-        $cache = $this->getMockBuilder(PhpFrontend::class)
-            ->addMethods(['dummy'])
-            ->disableOriginalConstructor()
-            ->getMock();
+        $cache = new PhpFrontend('someCacheIdentifier', $this->createMock(PhpCapableBackendInterface::class));
         $cache->set('Foo-Bar', []);
     }
 
@@ -73,7 +260,7 @@ final class PhpFrontendTest extends UnitTestCase
     {
         $mockBackend = $this->createMock(PhpCapableBackendInterface::class);
         $mockBackend->expects(self::once())->method('requireOnce')->with('Foo-Bar')->willReturn('hello world!');
-        $cache = GeneralUtility::makeInstance(PhpFrontend::class, 'PhpFrontend', $mockBackend);
+        $cache = new PhpFrontend('someCacheIdentifier', $mockBackend);
         $result = $cache->requireOnce('Foo-Bar');
         self::assertSame('hello world!', $result);
     }
@@ -83,7 +270,7 @@ final class PhpFrontendTest extends UnitTestCase
     {
         $mockBackend = $this->createMock(SimpleFileBackend::class);
         $mockBackend->expects(self::once())->method('require')->with('Foo-Bar')->willReturn('hello world!');
-        $cache = GeneralUtility::makeInstance(PhpFrontend::class, 'PhpFrontend', $mockBackend);
+        $cache = new PhpFrontend('someCacheIdentifier', $mockBackend);
         $result = $cache->require('Foo-Bar');
         self::assertSame('hello world!', $result);
     }
diff --git a/typo3/sysext/core/Tests/Unit/Cache/Frontend/VariableFrontendTest.php b/typo3/sysext/core/Tests/Unit/Cache/Frontend/VariableFrontendTest.php
index 3e3e59d8484296e74f68255427075526a2c03138..0d9ea0eeb46a4b30164e979d8046e217eddac8bc 100644
--- a/typo3/sysext/core/Tests/Unit/Cache/Frontend/VariableFrontendTest.php
+++ b/typo3/sysext/core/Tests/Unit/Cache/Frontend/VariableFrontendTest.php
@@ -17,38 +17,228 @@ declare(strict_types=1);
 
 namespace TYPO3\CMS\Core\Tests\Unit\Cache\Frontend;
 
+use PHPUnit\Framework\Attributes\DataProvider;
 use PHPUnit\Framework\Attributes\Test;
-use TYPO3\CMS\Core\Cache\Backend\AbstractBackend;
+use TYPO3\CMS\Core\Cache\Backend\BackendInterface;
+use TYPO3\CMS\Core\Cache\Backend\TaggableBackendInterface;
 use TYPO3\CMS\Core\Cache\Frontend\VariableFrontend;
 use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
 
 final class VariableFrontendTest extends UnitTestCase
 {
+    public static function constructAcceptsValidIdentifiersDataProvider(): array
+    {
+        return [
+            ['x'],
+            ['someValue'],
+            ['123fivesixseveneight'],
+            ['some&'],
+            ['ab_cd%'],
+            [rawurlencode('resource://some/äöü$&% sadf')],
+            [str_repeat('x', 250)],
+        ];
+    }
+
+    #[Test]
+    #[DataProvider('constructAcceptsValidIdentifiersDataProvider')]
+    public function constructAcceptsValidIdentifiers(string $identifier): void
+    {
+        new VariableFrontend($identifier, $this->createMock(BackendInterface::class));
+    }
+
+    public static function constructRejectsInvalidIdentifiersDataProvider(): array
+    {
+        return [
+            [''],
+            ['abc def'],
+            ['foo!'],
+            ['bar:'],
+            ['some/'],
+            ['bla*'],
+            ['one+'],
+            ['äöü'],
+            [str_repeat('x', 251)],
+            ['x$'],
+            ['\\a'],
+            ['b#'],
+        ];
+    }
+
+    #[Test]
+    #[DataProvider('constructRejectsInvalidIdentifiersDataProvider')]
+    public function constructRejectsInvalidIdentifiers(string $identifier): void
+    {
+        $this->expectException(\InvalidArgumentException::class);
+        $this->expectExceptionCode(1203584729);
+        new VariableFrontend($identifier, $this->createMock(BackendInterface::class));
+    }
+
+    #[Test]
+    public function flushCallsBackend(): void
+    {
+        $backend = $this->createMock(BackendInterface::class);
+        $backend->expects(self::once())->method('flush');
+        $cache = new VariableFrontend('someCacheIdentifier', $backend);
+        $cache->flush();
+    }
+
+    #[Test]
+    public function flushByTagRejectsInvalidTags(): void
+    {
+        $this->expectException(\InvalidArgumentException::class);
+        $this->expectExceptionCode(1233057359);
+        $backend = $this->createMock(TaggableBackendInterface::class);
+        $backend->expects(self::never())->method('flushByTag');
+        $cache = new VariableFrontend('someCacheIdentifier', $backend);
+        $cache->flushByTag('SomeInvalid\\Tag');
+    }
+
+    #[Test]
+    public function flushByTagCallsBackendIfItIsATaggableBackend(): void
+    {
+        $tag = 'someTag';
+        $backend = $this->createMock(TaggableBackendInterface::class);
+        $backend->expects(self::once())->method('flushByTag')->with($tag);
+        $cache = new VariableFrontend('someCacheIdentifier', $backend);
+        $cache->flushByTag($tag);
+    }
+
+    #[Test]
+    public function flushByTagsCallsBackendIfItIsATaggableBackend(): void
+    {
+        $tag = 'someTag';
+        $backend = $this->createMock(TaggableBackendInterface::class);
+        $backend->expects(self::once())->method('flushByTags')->with([$tag]);
+        $cache = new VariableFrontend('someCacheIdentifier', $backend);
+        $cache->flushByTags([$tag]);
+    }
+
+    #[Test]
+    public function collectGarbageCallsBackend(): void
+    {
+        $backend = $this->createMock(BackendInterface::class);
+        $backend->expects(self::once())->method('collectGarbage');
+        $cache = new VariableFrontend('someCacheIdentifier', $backend);
+        $cache->collectGarbage();
+    }
+
+    public static function isValidEntryIdentifierReturnsFalseWithValidIdentifierDataProvider(): array
+    {
+        return [
+            [''],
+            ['abc def'],
+            ['foo!'],
+            ['bar:'],
+            ['some/'],
+            ['bla*'],
+            ['one+'],
+            ['äöü'],
+            [str_repeat('x', 251)],
+            ['x$'],
+            ['\\a'],
+            ['b#'],
+        ];
+    }
+
+    #[Test]
+    #[DataProvider('isValidEntryIdentifierReturnsFalseWithValidIdentifierDataProvider')]
+    public function isValidEntryIdentifierReturnsFalseWithValidIdentifier(string $identifier): void
+    {
+        $backend = $this->createMock(BackendInterface::class);
+        $cache = new VariableFrontend('someCacheIdentifier', $backend);
+        self::assertFalse($cache->isValidEntryIdentifier($identifier));
+    }
+
+    public static function isValidEntryIdentifierReturnsTrueWithValidIdentifierDataProvider(): array
+    {
+        return [
+            ['_'],
+            ['abcdef'],
+            ['foo'],
+            ['bar123'],
+            ['3some'],
+            ['_bl_a'],
+            ['some&'],
+            ['one%TWO'],
+            [str_repeat('x', 250)],
+        ];
+    }
+
+    #[Test]
+    #[DataProvider('isValidEntryIdentifierReturnsTrueWithValidIdentifierDataProvider')]
+    public function isValidEntryIdentifierReturnsTrueWithValidIdentifier(string $identifier): void
+    {
+        $backend = $this->createMock(BackendInterface::class);
+        $cache = new VariableFrontend('someCacheIdentifier', $backend);
+        self::assertTrue($cache->isValidEntryIdentifier($identifier));
+    }
+
+    public static function isValidTagReturnsFalseWithInvalidTagDataProvider(): array
+    {
+        return [
+            [''],
+            ['abc def'],
+            ['foo!'],
+            ['bar:'],
+            ['some/'],
+            ['bla*'],
+            ['one+'],
+            ['äöü'],
+            [str_repeat('x', 251)],
+            ['x$'],
+            ['\\a'],
+            ['b#'],
+        ];
+    }
+
+    #[Test]
+    #[DataProvider('isValidTagReturnsFalseWithInvalidTagDataProvider')]
+    public function isValidTagReturnsFalseWithInvalidTag(string $tag): void
+    {
+        $backend = $this->createMock(BackendInterface::class);
+        $cache = new VariableFrontend('someCacheIdentifier', $backend);
+        self::assertFalse($cache->isValidTag($tag));
+    }
+
+    public static function isValidTagReturnsTrueWithValidTagDataProvider(): array
+    {
+        return [
+            ['abcdef'],
+            ['foo-bar'],
+            ['foo_baar'],
+            ['bar123'],
+            ['3some'],
+            ['file%Thing'],
+            ['some&'],
+            ['%x%'],
+            [str_repeat('x', 250)],
+        ];
+    }
+
+    #[Test]
+    #[DataProvider('isValidTagReturnsTrueWithValidTagDataProvider')]
+    public function isValidTagReturnsTrueWithValidTag(string $tag): void
+    {
+        $backend = $this->createMock(BackendInterface::class);
+        $cache = new VariableFrontend('someCacheIdentifier', $backend);
+        self::assertTrue($cache->isValidTag($tag));
+    }
+
     #[Test]
     public function setChecksIfTheIdentifierIsValid(): void
     {
         $this->expectException(\InvalidArgumentException::class);
         $this->expectExceptionCode(1233058264);
-
-        $cache = $this->getMockBuilder(VariableFrontend::class)
-            ->onlyMethods(['isValidEntryIdentifier'])
-            ->disableOriginalConstructor()
-            ->getMock();
-        $cache->expects(self::once())->method('isValidEntryIdentifier')->with('foo')->willReturn(false);
-        $cache->set('foo', 'bar');
+        $cache = new VariableFrontend('someCacheIdentifier', $this->createMock(BackendInterface::class));
+        $cache->set('invalid identifier', 'bar');
     }
 
     #[Test]
     public function setPassesSerializedStringToBackend(): void
     {
         $theString = 'Just some value';
-        $backend = $this->getMockBuilder(AbstractBackend::class)
-            ->onlyMethods(['get', 'set', 'has', 'remove', 'flush', 'collectGarbage'])
-            ->addMethods(['findIdentifiersByTag', 'flushByTag'])
-            ->disableOriginalConstructor()
-            ->getMock();
-        $backend->expects(self::once())->method('set')->with(self::equalTo('VariableCacheTest'), self::equalTo(serialize($theString)));
-
+        $backend = $this->createMock(BackendInterface::class);
+        $backend->expects(self::once())->method('set')->with('VariableCacheTest', serialize($theString));
         $cache = new VariableFrontend('VariableFrontend', $backend);
         $cache->set('VariableCacheTest', $theString);
     }
@@ -57,13 +247,8 @@ final class VariableFrontendTest extends UnitTestCase
     public function setPassesSerializedArrayToBackend(): void
     {
         $theArray = ['Just some value', 'and another one.'];
-        $backend = $this->getMockBuilder(AbstractBackend::class)
-            ->onlyMethods(['get', 'set', 'has', 'remove', 'flush', 'collectGarbage'])
-            ->addMethods(['findIdentifiersByTag', 'flushByTag'])
-            ->disableOriginalConstructor()
-            ->getMock();
-        $backend->expects(self::once())->method('set')->with(self::equalTo('VariableCacheTest'), self::equalTo(serialize($theArray)));
-
+        $backend = $this->createMock(BackendInterface::class);
+        $backend->expects(self::once())->method('set')->with('VariableCacheTest', serialize($theArray));
         $cache = new VariableFrontend('VariableFrontend', $backend);
         $cache->set('VariableCacheTest', $theArray);
     }
@@ -73,13 +258,8 @@ final class VariableFrontendTest extends UnitTestCase
     {
         $theString = 'Just some value';
         $theLifetime = 1234;
-        $backend = $this->getMockBuilder(AbstractBackend::class)
-            ->onlyMethods(['get', 'set', 'has', 'remove', 'flush', 'collectGarbage'])
-            ->addMethods(['findIdentifiersByTag', 'flushByTag'])
-            ->disableOriginalConstructor()
-            ->getMock();
-        $backend->expects(self::once())->method('set')->with(self::equalTo('VariableCacheTest'), self::equalTo(serialize($theString)), self::equalTo([]), self::equalTo($theLifetime));
-
+        $backend = $this->createMock(BackendInterface::class);
+        $backend->expects(self::once())->method('set')->with('VariableCacheTest', serialize($theString), [], $theLifetime);
         $cache = new VariableFrontend('VariableFrontend', $backend);
         $cache->set('VariableCacheTest', $theString, [], $theLifetime);
     }
@@ -87,73 +267,47 @@ final class VariableFrontendTest extends UnitTestCase
     #[Test]
     public function getFetchesStringValueFromBackend(): void
     {
-        $backend = $this->getMockBuilder(AbstractBackend::class)
-            ->onlyMethods(['get', 'set', 'has', 'remove', 'flush', 'collectGarbage'])
-            ->addMethods(['findIdentifiersByTag', 'flushByTag'])
-            ->disableOriginalConstructor()
-            ->getMock();
+        $backend = $this->createMock(BackendInterface::class);
         $backend->expects(self::once())->method('get')->willReturn(serialize('Just some value'));
-
         $cache = new VariableFrontend('VariableFrontend', $backend);
-        self::assertEquals('Just some value', $cache->get('VariableCacheTest'), 'The returned value was not the expected string.');
+        self::assertEquals('Just some value', $cache->get('VariableCacheTest'));
     }
 
     #[Test]
     public function getFetchesArrayValueFromBackend(): void
     {
         $theArray = ['Just some value', 'and another one.'];
-        $backend = $this->getMockBuilder(AbstractBackend::class)
-            ->onlyMethods(['get', 'set', 'has', 'remove', 'flush', 'collectGarbage'])
-            ->addMethods(['findIdentifiersByTag', 'flushByTag'])
-            ->disableOriginalConstructor()
-            ->getMock();
+        $backend = $this->createMock(BackendInterface::class);
         $backend->expects(self::once())->method('get')->willReturn(serialize($theArray));
-
         $cache = new VariableFrontend('VariableFrontend', $backend);
-        self::assertEquals($theArray, $cache->get('VariableCacheTest'), 'The returned value was not the expected unserialized array.');
+        self::assertEquals($theArray, $cache->get('VariableCacheTest'));
     }
 
     #[Test]
     public function getFetchesFalseBooleanValueFromBackend(): void
     {
-        $backend = $this->getMockBuilder(AbstractBackend::class)
-            ->onlyMethods(['get', 'set', 'has', 'remove', 'flush', 'collectGarbage'])
-            ->addMethods(['findIdentifiersByTag', 'flushByTag'])
-            ->disableOriginalConstructor()
-            ->getMock();
+        $backend = $this->createMock(BackendInterface::class);
         $backend->expects(self::once())->method('get')->willReturn(serialize(false));
-
         $cache = new VariableFrontend('VariableFrontend', $backend);
-        self::assertFalse($cache->get('VariableCacheTest'), 'The returned value was not the FALSE.');
+        self::assertFalse($cache->get('VariableCacheTest'));
     }
 
     #[Test]
     public function hasReturnsResultFromBackend(): void
     {
-        $backend = $this->getMockBuilder(AbstractBackend::class)
-            ->onlyMethods(['get', 'set', 'has', 'remove', 'flush', 'collectGarbage'])
-            ->addMethods(['findIdentifiersByTag', 'flushByTag'])
-            ->disableOriginalConstructor()
-            ->getMock();
+        $backend = $this->createMock(BackendInterface::class);
         $backend->expects(self::once())->method('has')->with(self::equalTo('VariableCacheTest'))->willReturn(true);
-
         $cache = new VariableFrontend('VariableFrontend', $backend);
-        self::assertTrue($cache->has('VariableCacheTest'), 'has() did not return TRUE.');
+        self::assertTrue($cache->has('VariableCacheTest'));
     }
 
     #[Test]
     public function removeCallsBackend(): void
     {
         $cacheIdentifier = 'someCacheIdentifier';
-        $backend = $this->getMockBuilder(AbstractBackend::class)
-            ->onlyMethods(['get', 'set', 'has', 'remove', 'flush', 'collectGarbage'])
-            ->addMethods(['findIdentifiersByTag', 'flushByTag'])
-            ->disableOriginalConstructor()
-            ->getMock();
-
+        $backend = $this->createMock(BackendInterface::class);
         $backend->expects(self::once())->method('remove')->with(self::equalTo($cacheIdentifier))->willReturn(true);
-
         $cache = new VariableFrontend('VariableFrontend', $backend);
-        self::assertTrue($cache->remove($cacheIdentifier), 'remove() did not return TRUE');
+        self::assertTrue($cache->remove($cacheIdentifier));
     }
 }