diff --git a/phpunit.xml b/phpunit.xml
index 18666a2256d8c0564157a64ec90cf78c4347eb27..5c27d5c841cbaf7bb020bc4a5b0ab32c136bedb2 100644
--- a/phpunit.xml
+++ b/phpunit.xml
@@ -14,7 +14,4 @@
             <directory suffix=".php">src</directory>
         </include>
     </source>
-    <php>
-        <!-- <env name="DB_CONNECTION" value="sqlite" /> -->
-    </php>
 </phpunit>
diff --git a/src/ObservableTaskTableSlotStatusUpdateIteratorTest.php b/src/ObservableTaskTableSlotStatusUpdateIteratorTest.php
index 2ac336525b71128533df4ff2f43d94aa0f4355eb..109cefbdacec10f2933511a8df6ad7485f475a08 100644
--- a/src/ObservableTaskTableSlotStatusUpdateIteratorTest.php
+++ b/src/ObservableTaskTableSlotStatusUpdateIteratorTest.php
@@ -6,15 +6,15 @@ namespace Distantmagic\Resonance;
 
 use Distantmagic\Resonance\Serializer\Vanilla;
 use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\RunClassInSeparateProcess;
 use PHPUnit\Framework\TestCase;
-use Swoole\Coroutine;
-use Swoole\Coroutine\WaitGroup;
 use Swoole\Event;
 
 /**
  * @internal
  */
 #[CoversClass(ObservableTaskTableSlotStatusUpdateIterator::class)]
+#[RunClassInSeparateProcess]
 final class ObservableTaskTableSlotStatusUpdateIteratorTest extends TestCase
 {
     private ?ObservableTaskConfiguration $observableTaskConfiguration = null;
@@ -41,8 +41,6 @@ final class ObservableTaskTableSlotStatusUpdateIteratorTest extends TestCase
     public function test_channel_is_observed(): void
     {
         SwooleCoroutineHelper::mustRun(function () {
-            $wg = new WaitGroup();
-
             $observableTask = new ObservableTask(static function () {
                 yield new ObservableTaskStatusUpdate(
                     ObservableTaskStatus::Running,
@@ -55,15 +53,9 @@ final class ObservableTaskTableSlotStatusUpdateIteratorTest extends TestCase
                 );
             });
 
-            $wg->add();
-
-            SwooleCoroutineHelper::mustGo(function () use ($wg) {
+            SwooleCoroutineHelper::mustGo(function () {
                 self::assertNotNull($this->observableTaskTable);
 
-                Coroutine::defer(static function () use ($wg) {
-                    $wg->done();
-                });
-
                 $iterator = new ObservableTaskTableSlotStatusUpdateIterator($this->observableTaskTable);
 
                 foreach ($iterator as $statusUpdate) {
@@ -81,8 +73,6 @@ final class ObservableTaskTableSlotStatusUpdateIteratorTest extends TestCase
             });
 
             $this->observableTaskTable?->observe($observableTask);
-
-            $wg->wait();
         });
     }
 }
diff --git a/src/ObservableTaskTableTest.php b/src/ObservableTaskTableTest.php
index c44043f3cc3926bea5d8782d0553f9d57dc6104a..17355353a2268c3b02d9589925d49c70db9aa3f9 100644
--- a/src/ObservableTaskTableTest.php
+++ b/src/ObservableTaskTableTest.php
@@ -6,6 +6,7 @@ namespace Distantmagic\Resonance;
 
 use Distantmagic\Resonance\Serializer\Vanilla;
 use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\RunClassInSeparateProcess;
 use PHPUnit\Framework\TestCase;
 use Swoole\Coroutine;
 use Swoole\Coroutine\Channel;
@@ -16,6 +17,7 @@ use Swoole\Event;
  * @internal
  */
 #[CoversClass(ObservableTaskTable::class)]
+#[RunClassInSeparateProcess]
 final class ObservableTaskTableTest extends TestCase
 {
     private ?ObservableTaskConfiguration $observableTaskConfiguration = null;
diff --git a/src/SwooleTimeoutTest.php b/src/SwooleTimeoutTest.php
index 9e1bc0ae27337595ce596575a265a11b5ace0e51..9b3b3b156cceaad900065358cddbb6ba38b7ba39 100644
--- a/src/SwooleTimeoutTest.php
+++ b/src/SwooleTimeoutTest.php
@@ -5,6 +5,7 @@ declare(strict_types=1);
 namespace Distantmagic\Resonance;
 
 use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\RunClassInSeparateProcess;
 use PHPUnit\Framework\TestCase;
 use Swoole\Event;
 
@@ -14,6 +15,7 @@ use Swoole\Event;
 #[CoversClass(SwooleTimeout::class)]
 #[CoversClass(SwooleTimeoutScheduled::class)]
 #[CoversClass(SwooleTimeoutScheduler::class)]
+#[RunClassInSeparateProcess]
 final class SwooleTimeoutTest extends TestCase
 {
     protected function tearDown(): void