diff --git a/composer.json b/composer.json
index 06be63e263..10514d8fc1 100644
--- a/composer.json
+++ b/composer.json
@@ -45,7 +45,7 @@
"phpstan/phpstan-phpunit": "^1.1",
"phpstan/phpstan-strict-rules": "^1.1",
"phpstan/phpstan-symfony": "^1.1",
- "phpunit/phpunit": "^9.5.24",
+ "phpunit/phpunit": "^10.2",
"symfony/cache": "^4.4 || ^5.4 || ^6.0",
"symfony/process": "^4.4 || ^5.4 || ^6.0",
"symfony/yaml": "^4.4 || ^5.4 || ^6.0"
diff --git a/phpcs.xml.dist b/phpcs.xml.dist
index a2603617ab..48b677fbe9 100644
--- a/phpcs.xml.dist
+++ b/phpcs.xml.dist
@@ -44,7 +44,6 @@
lib/Doctrine/Migrations/AbstractMigration.php
- tests/Doctrine/Migrations/Tests/Configuration/Loader/AbstractLoaderTest.php
lib/Doctrine/Migrations/Configuration/Loader/AbstractFileLoader.php
diff --git a/phpunit.xml.dist b/phpunit.xml.dist
index b3aff66177..db722617f7 100644
--- a/phpunit.xml.dist
+++ b/phpunit.xml.dist
@@ -3,7 +3,6 @@
@@ -16,9 +15,9 @@
-
+
+
diff --git a/tests/Doctrine/Migrations/Tests/Configuration/Migration/JsonLoaderTest.php b/tests/Doctrine/Migrations/Tests/Configuration/Migration/JsonLoaderTest.php
index 304d5a9da3..60a6cb6e29 100644
--- a/tests/Doctrine/Migrations/Tests/Configuration/Migration/JsonLoaderTest.php
+++ b/tests/Doctrine/Migrations/Tests/Configuration/Migration/JsonLoaderTest.php
@@ -8,7 +8,7 @@
use Doctrine\Migrations\Configuration\Migration\Exception\JsonNotValid;
use Doctrine\Migrations\Configuration\Migration\JsonFile;
-class JsonLoaderTest extends LoaderTest
+class JsonLoaderTest extends LoaderTestCase
{
public function load(string $prefix = ''): Configuration
{
diff --git a/tests/Doctrine/Migrations/Tests/Configuration/Migration/LoaderTest.php b/tests/Doctrine/Migrations/Tests/Configuration/Migration/LoaderTestCase.php
similarity index 98%
rename from tests/Doctrine/Migrations/Tests/Configuration/Migration/LoaderTest.php
rename to tests/Doctrine/Migrations/Tests/Configuration/Migration/LoaderTestCase.php
index 926e42271f..100eaa5f64 100644
--- a/tests/Doctrine/Migrations/Tests/Configuration/Migration/LoaderTest.php
+++ b/tests/Doctrine/Migrations/Tests/Configuration/Migration/LoaderTestCase.php
@@ -15,7 +15,7 @@
use const DIRECTORY_SEPARATOR;
-abstract class LoaderTest extends TestCase
+abstract class LoaderTestCase extends TestCase
{
abstract public function load(string $prefix = ''): Configuration;
diff --git a/tests/Doctrine/Migrations/Tests/Configuration/Migration/PhpLoaderTest.php b/tests/Doctrine/Migrations/Tests/Configuration/Migration/PhpLoaderTest.php
index 8b4935e93f..16e88280b6 100644
--- a/tests/Doctrine/Migrations/Tests/Configuration/Migration/PhpLoaderTest.php
+++ b/tests/Doctrine/Migrations/Tests/Configuration/Migration/PhpLoaderTest.php
@@ -7,7 +7,7 @@
use Doctrine\Migrations\Configuration\Configuration;
use Doctrine\Migrations\Configuration\Migration\PhpFile;
-class PhpLoaderTest extends LoaderTest
+class PhpLoaderTest extends LoaderTestCase
{
public function load(string $prefix = ''): Configuration
{
diff --git a/tests/Doctrine/Migrations/Tests/Configuration/Migration/XmlLoaderTest.php b/tests/Doctrine/Migrations/Tests/Configuration/Migration/XmlLoaderTest.php
index d0c07855d9..f177222b7a 100644
--- a/tests/Doctrine/Migrations/Tests/Configuration/Migration/XmlLoaderTest.php
+++ b/tests/Doctrine/Migrations/Tests/Configuration/Migration/XmlLoaderTest.php
@@ -8,7 +8,7 @@
use Doctrine\Migrations\Configuration\Migration\Exception\XmlNotValid;
use Doctrine\Migrations\Configuration\Migration\XmlFile;
-class XmlLoaderTest extends LoaderTest
+class XmlLoaderTest extends LoaderTestCase
{
public function load(string $prefix = ''): Configuration
{
diff --git a/tests/Doctrine/Migrations/Tests/Configuration/Migration/YamlLoaderTest.php b/tests/Doctrine/Migrations/Tests/Configuration/Migration/YamlLoaderTest.php
index a04caf6b5d..a6f42e22c0 100644
--- a/tests/Doctrine/Migrations/Tests/Configuration/Migration/YamlLoaderTest.php
+++ b/tests/Doctrine/Migrations/Tests/Configuration/Migration/YamlLoaderTest.php
@@ -8,7 +8,7 @@
use Doctrine\Migrations\Configuration\Migration\Exception\YamlNotValid;
use Doctrine\Migrations\Configuration\Migration\YamlFile;
-class YamlLoaderTest extends LoaderTest
+class YamlLoaderTest extends LoaderTestCase
{
public function load(string $prefix = ''): Configuration
{
diff --git a/tests/Doctrine/Migrations/Tests/Tools/Console/Command/ExecuteCommandTest.php b/tests/Doctrine/Migrations/Tests/Tools/Console/Command/ExecuteCommandTest.php
index 1fa54dcaef..55c84055ab 100644
--- a/tests/Doctrine/Migrations/Tests/Tools/Console/Command/ExecuteCommandTest.php
+++ b/tests/Doctrine/Migrations/Tests/Tools/Console/Command/ExecuteCommandTest.php
@@ -80,7 +80,7 @@ public function testWriteSql(bool $dryRun, $arg, ?string $path): void
}
/** @return mixed[] */
- public function getWriteSqlValues(): array
+ public static function getWriteSqlValues(): array
{
return [
// dry-run, write-path, path
diff --git a/tests/Doctrine/Migrations/Tests/Tools/Console/Command/MigrateCommandTest.php b/tests/Doctrine/Migrations/Tests/Tools/Console/Command/MigrateCommandTest.php
index 4d3b716e35..150e1004c5 100644
--- a/tests/Doctrine/Migrations/Tests/Tools/Console/Command/MigrateCommandTest.php
+++ b/tests/Doctrine/Migrations/Tests/Tools/Console/Command/MigrateCommandTest.php
@@ -76,7 +76,7 @@ public function testTargetUnknownVersion(): void
}
/** @return array> */
- public function getMigrateWithMigrationsOrWithout(): array
+ public static function getMigrateWithMigrationsOrWithout(): array
{
return [
// migrations available, allow-no-migrations, expected exit code
@@ -120,7 +120,7 @@ public function testMigrateWhenNoMigrationsAvailable(bool $hasMigrations, bool $
}
/** @return array> */
- public function getTargetAliases(): array
+ public static function getTargetAliases(): array
{
return [
['A', 'OK', 'A'], // already at A
@@ -250,7 +250,7 @@ public function testExecuteWriteSql(bool $dryRun, $arg, ?string $path): void
}
/** @return mixed[] */
- public function getWriteSqlValues(): array
+ public static function getWriteSqlValues(): array
{
return [
// dry-run, write-path, path
@@ -381,7 +381,7 @@ public function testExecuteMigrateAllOrNothing(bool $default, array $input, bool
}
/** @psalm-return Generator, bool}> */
- public function allOrNothing(): Generator
+ public static function allOrNothing(): Generator
{
yield [false, ['--all-or-nothing' => false], false];
yield [false, ['--all-or-nothing' => 0], false];
diff --git a/tests/Doctrine/Migrations/Tests/Tools/Console/Command/UpToDateCommandTest.php b/tests/Doctrine/Migrations/Tests/Tools/Console/Command/UpToDateCommandTest.php
index eae571837e..40cb09ae97 100644
--- a/tests/Doctrine/Migrations/Tests/Tools/Console/Command/UpToDateCommandTest.php
+++ b/tests/Doctrine/Migrations/Tests/Tools/Console/Command/UpToDateCommandTest.php
@@ -134,7 +134,7 @@ public function testMigrationList(): void
}
/** @return mixed[][] */
- public function dataIsUpToDate(): array
+ public static function dataIsUpToDate(): array
{
return [
'up-to-date' => [
diff --git a/tests/Doctrine/Migrations/Tests/Tools/Console/ConsoleRunnerTest.php b/tests/Doctrine/Migrations/Tests/Tools/Console/ConsoleRunnerTest.php
index bbfee736c6..6dbdb87b94 100644
--- a/tests/Doctrine/Migrations/Tests/Tools/Console/ConsoleRunnerTest.php
+++ b/tests/Doctrine/Migrations/Tests/Tools/Console/ConsoleRunnerTest.php
@@ -103,7 +103,7 @@ public function testNoDependencyFactoryWhenNoCliConfig(): void
}
/** @return array> */
- public function getDependencyFactoryTestDirectories(): array
+ public static function getDependencyFactoryTestDirectories(): array
{
return [
[__DIR__],
diff --git a/tests/Doctrine/Migrations/Tests/Version/AliasResolverTest.php b/tests/Doctrine/Migrations/Tests/Version/AliasResolverTest.php
index 6118509a16..c627f8ba40 100644
--- a/tests/Doctrine/Migrations/Tests/Version/AliasResolverTest.php
+++ b/tests/Doctrine/Migrations/Tests/Version/AliasResolverTest.php
@@ -97,7 +97,7 @@ public function testAliasesWithNoExecuted(string $alias, ?string $expectedVersio
}
/** @return mixed[][] */
- public function getAliasesWithNoExecuted(): array
+ public static function getAliasesWithNoExecuted(): array
{
return [
['first', '0'],
@@ -113,7 +113,7 @@ public function getAliasesWithNoExecuted(): array
}
/** @return mixed[][] */
- public function getAliases(): array
+ public static function getAliases(): array
{
return [
['first', '0'],
diff --git a/tests/Doctrine/Migrations/Tests/Version/ExecutorTest.php b/tests/Doctrine/Migrations/Tests/Version/ExecutorTest.php
index 6336304e69..7a889a434f 100644
--- a/tests/Doctrine/Migrations/Tests/Version/ExecutorTest.php
+++ b/tests/Doctrine/Migrations/Tests/Version/ExecutorTest.php
@@ -504,15 +504,8 @@ public function executeDownShouldAppendDescriptionWhenItIsNotEmpty(): void
protected function setUp(): void
{
- // add getSql to mock until method will be added to MetadataStorage interface
- $this->metadataStorage = $this->getMockBuilder(MetadataStorage::class)
- ->disableOriginalConstructor()
- ->disableOriginalClone()
- ->disableArgumentCloning()
- ->disallowMockingUnknownTypes()
- ->onlyMethods(['ensureInitialized', 'getExecutedMigrations', 'complete', 'reset'])
- ->addMethods(['getSql'])
- ->getMock();
+ // use FutureMetadataStorage until getSql is added to MetadataStorage interface
+ $this->metadataStorage = $this->createMock(FutureMetadataStorage::class);
$this->connection = $this->createMock(Connection::class);
$driverConnection = $this->createStub(DriverConnection::class);
@@ -563,3 +556,9 @@ protected function setUp(): void
->willReturn([$stopWatchPeriod]);
}
}
+
+interface FutureMetadataStorage extends MetadataStorage
+{
+ /** @return iterable */
+ public function getSql(ExecutionResult $result): iterable;
+}
diff --git a/tests/Doctrine/Migrations/Tests/Version/MigrationPlanCalculatorTest.php b/tests/Doctrine/Migrations/Tests/Version/MigrationPlanCalculatorTest.php
index 7f26b77cfd..fa14dd36c5 100644
--- a/tests/Doctrine/Migrations/Tests/Version/MigrationPlanCalculatorTest.php
+++ b/tests/Doctrine/Migrations/Tests/Version/MigrationPlanCalculatorTest.php
@@ -138,7 +138,7 @@ public function testPlanWhenNoMigrations(string $to, array $expectedPlan, string
}
/** @return mixed[] */
- public function getPlanUpWhenNoMigrations(): array
+ public static function getPlanUpWhenNoMigrations(): array
{
return [
['A', ['A'], Direction::UP],
@@ -182,7 +182,7 @@ public function testTargetMigrationNotFound(): void
}
/** @return mixed[] */
- public function getPlanUpWhenMigrations(): array
+ public static function getPlanUpWhenMigrations(): array
{
return [
['0', ['B', 'A'], Direction::DOWN],
@@ -220,7 +220,7 @@ public function testPlanWhenMigrationsOutOfOrder(string $to, array $expectedPlan
}
/** @return mixed[] */
- public function getPlanUpWhenMigrationsOutOfOrder(): array
+ public static function getPlanUpWhenMigrationsOutOfOrder(): array
{
return [
['C',['A'],Direction::UP],