diff --git a/php-packages/testing/src/integration/Extend/OverrideExtensionManagerForTests.php b/php-packages/testing/src/integration/Extend/OverrideExtensionManagerForTests.php
new file mode 100644
index 000000000..a975cdab7
--- /dev/null
+++ b/php-packages/testing/src/integration/Extend/OverrideExtensionManagerForTests.php
@@ -0,0 +1,35 @@
+<?php
+
+namespace Flarum\Testing\integration\Extend;
+
+use Flarum\Extend\ExtenderInterface;
+use Flarum\Extension\Extension;
+use Flarum\Testing\integration\Extension\ExtensionManagerIncludeCurrent;
+use Illuminate\Contracts\Container\Container;
+
+class OverrideExtensionManagerForTests implements ExtenderInterface
+{
+    /**
+     * IDs of extensions to boot
+     */
+    protected $extensions;
+
+    public function __construct($extensions)
+    {
+        $this->extensions = $extensions;
+    }
+
+    public function extend(Container $container, Extension $extension = null)
+    {
+        if (count($this->extensions)) {
+            $container->bind(ExtensionManager::class, ExtensionManagerIncludeCurrent::class);
+            $extensionManager = $container->make(ExtensionManager::class);
+
+            foreach ($this->extensions as $extension) {
+                $extensionManager->enable($extension);
+            }
+
+            $extensionManager->extend($container);
+        }
+    }
+}
diff --git a/php-packages/testing/src/integration/Extension/ExtensionManagerIncludeCurrent.php b/php-packages/testing/src/integration/Extension/ExtensionManagerIncludeCurrent.php
new file mode 100644
index 000000000..0d869b8d8
--- /dev/null
+++ b/php-packages/testing/src/integration/Extension/ExtensionManagerIncludeCurrent.php
@@ -0,0 +1,42 @@
+<?php
+
+/*
+ * This file is part of Flarum.
+ *
+ * For detailed copyright and license information, please view the
+ * LICENSE file that was distributed with this source code.
+ */
+
+namespace Flarum\Testing\integration\Extension;
+
+use Flarum\Extension\Extension;
+use Flarum\Extension\ExtensionManager;
+use Illuminate\Support\Arr;
+
+class ExtensionManagerIncludeCurrent extends ExtensionManager
+{
+    /**
+     * @return Collection
+     */
+    public function getExtensions()
+    {
+        $extensions = parent::getExtensions();
+
+        $package = json_decode($this->filesystem->get($this->paths->vendor . '/../composer.json'), true);
+
+        if (Arr::get($package, 'type') === 'flarum-extension') {
+            $current = new Extension($this->paths->vendor . '/../', $package);
+            $current->setInstalled(true);
+            $current->setVersion(Arr::get($package, 'version'));
+            $current->calculateDependencies([]);
+
+            $extensions->put($current->getId(), $current);
+
+            $this->extensions = $extensions->sortBy(function ($extension, $name) {
+                return $extension->composerJsonAttribute('extra.flarum-extension.title');
+            });
+        }
+
+        return $this->extensions;
+    }
+}
diff --git a/php-packages/testing/src/integration/TestCase.php b/php-packages/testing/src/integration/TestCase.php
index ad6986a83..7b385b173 100644
--- a/php-packages/testing/src/integration/TestCase.php
+++ b/php-packages/testing/src/integration/TestCase.php
@@ -13,6 +13,7 @@ use Flarum\Extend\ExtenderInterface;
 use Flarum\Foundation\Config;
 use Flarum\Foundation\InstalledSite;
 use Flarum\Foundation\Paths;
+use Flarum\Testing\integration\Extend\OverrideExtensionManagerForTests;
 use Illuminate\Database\ConnectionInterface;
 use Laminas\Diactoros\ServerRequest;
 use Psr\Http\Message\ResponseInterface;
@@ -51,10 +52,14 @@ abstract class TestCase extends \PHPUnit\Framework\TestCase
                     'public' => __DIR__.'/tmp/public',
                     'storage' => __DIR__.'/tmp/storage',
                 ]),
-                new Config(include __DIR__.'/tmp/config.php')
+                new Config(include __DIR__ . '/tmp/config.php')
             );
 
-            $site->extendWith($this->extenders);
+            $extenders = array_merge([
+                new OverrideExtensionManagerForTests($this->extensions)
+            ], $this->extenders);
+
+            $site->extendWith($extenders);
 
             $this->app = $site->bootApp();
 
@@ -76,6 +81,16 @@ abstract class TestCase extends \PHPUnit\Framework\TestCase
         $this->extenders = array_merge($this->extenders, $extenders);
     }
 
+    /**
+     * @var string[]
+     */
+    protected $extensions = [];
+
+    protected function extension(string ...$extensions)
+    {
+        $this->extensions = array_merge($this->extensions, $extensions);
+    }
+
     /**
      * @var RequestHandlerInterface
      */