diff --git a/core/modules/options/tests/src/Functional/OptionsDynamicValuesApiTest.php b/core/modules/options/tests/src/Functional/OptionsDynamicValuesApiTest.php
deleted file mode 100644
index 977f18d8e6fcf3451a872dcd2d755e86e4b91cd2..0000000000000000000000000000000000000000
--- a/core/modules/options/tests/src/Functional/OptionsDynamicValuesApiTest.php
+++ /dev/null
@@ -1,39 +0,0 @@
-<?php
-
-namespace Drupal\Tests\options\Functional;
-
-/**
- * Tests the options allowed values api.
- *
- * @group options
- */
-class OptionsDynamicValuesApiTest extends OptionsDynamicValuesTestBase {
-
-  /**
-   * {@inheritdoc}
-   */
-  protected $defaultTheme = 'stark';
-
-  /**
-   * Tests options_allowed_values().
-   *
-   * @see options_test_dynamic_values_callback()
-   */
-  public function testOptionsAllowedValues() {
-    // Test allowed values without passed $items.
-    $values = options_allowed_values($this->fieldStorage);
-    $this->assertEquals([], $values);
-
-    $values = options_allowed_values($this->fieldStorage, $this->entity);
-
-    $expected_values = [
-      $this->entity->label(),
-      $this->entity->toUrl()->toString(),
-      $this->entity->uuid(),
-      $this->entity->bundle(),
-    ];
-    $expected_values = array_combine($expected_values, $expected_values);
-    $this->assertEquals($expected_values, $values);
-  }
-
-}
diff --git a/core/modules/options/tests/src/Kernel/OptionsDynamicValuesApiTest.php b/core/modules/options/tests/src/Kernel/OptionsDynamicValuesApiTest.php
new file mode 100644
index 0000000000000000000000000000000000000000..2f286935bd8eae6b337dba32e669d0f3611abbef
--- /dev/null
+++ b/core/modules/options/tests/src/Kernel/OptionsDynamicValuesApiTest.php
@@ -0,0 +1,97 @@
+<?php
+
+namespace Drupal\Tests\options\Kernel;
+
+use Drupal\Core\Entity\EntityInterface;
+use Drupal\entity_test\Entity\EntityTestRev;
+use Drupal\field\Entity\FieldConfig;
+use Drupal\field\Entity\FieldStorageConfig;
+
+/**
+ * Tests the options allowed values api.
+ *
+ * @group options
+ */
+class OptionsDynamicValuesApiTest extends OptionsFieldUnitTestBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  protected static $modules = [
+    'entity_test',
+    'options_test',
+    'node',
+  ];
+
+  /**
+   * The created entity.
+   */
+  protected EntityInterface $entity;
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function setUp(): void {
+    parent::setUp();
+
+    $this->installEntitySchema('entity_test_rev');
+    $this->installEntitySchema('user');
+    $this->installEntitySchema('node');
+
+    $this->fieldStorage = FieldStorageConfig::create([
+      'field_name' => 'test_options',
+      'entity_type' => 'entity_test_rev',
+      'type' => 'list_string',
+      'cardinality' => 1,
+      'settings' => [
+        'allowed_values_function' => 'options_test_dynamic_values_callback',
+      ],
+    ]);
+    $this->fieldStorage->save();
+
+    FieldConfig::create([
+      'field_name' => 'test_options',
+      'entity_type' => 'entity_test_rev',
+      'bundle' => 'entity_test_rev',
+      'required' => TRUE,
+    ])->save();
+    \Drupal::service('entity_display.repository')
+      ->getFormDisplay('entity_test_rev', 'entity_test_rev')
+      ->setComponent('test_options', [
+        'type' => 'options_select',
+      ])
+      ->save();
+
+    // Create an entity and prepare test data that will be used by
+    // options_test_dynamic_values_callback().
+    $values = [
+      'user_id' => 2,
+      'name' => $this->randomMachineName(),
+    ];
+    $this->entity = EntityTestRev::create($values);
+    $this->entity->save();
+  }
+
+  /**
+   * Tests options_allowed_values().
+   *
+   * @see options_test_dynamic_values_callback()
+   */
+  public function testOptionsAllowedValues(): void {
+    // Test allowed values without passed $items.
+    $values = options_allowed_values($this->fieldStorage);
+    $this->assertEquals([], $values);
+
+    $values = options_allowed_values($this->fieldStorage, $this->entity);
+
+    $expected_values = [
+      $this->entity->label(),
+      $this->entity->toUrl()->toString(),
+      $this->entity->uuid(),
+      $this->entity->bundle(),
+    ];
+    $expected_values = array_combine($expected_values, $expected_values);
+    $this->assertEquals($expected_values, $values);
+  }
+
+}