Drupal 8.8 не поддерживает PhpUnit 8 - пока.
PHPUnit 7 прекратит поддержку 7 февраля 2020
https://www.drupal.org/project/drupal/issues/3063887
Однако, если вы посмотрите на местоположение из stacktrace core/tests/bootstrap.php
, вы найдете:
// PHPUnit 4 to PHPUnit 6 bridge. Tests written for PHPUnit 4 need to work on
// PHPUnit 6 with a minimum of fuss.
// @todo provided for BC; remove in Drupal 9.
class_alias(AssertionFailedError::class, '\PHPUnit_Framework_AssertionFailedError');
class_alias(Count::class, '\PHPUnit_Framework_Constraint_Count');
class_alias(Error::class, '\PHPUnit_Framework_Error');
class_alias(Warning::class, '\PHPUnit_Framework_Error_Warning');
class_alias(ExpectationFailedException::class, '\PHPUnit_Framework_ExpectationFailedException');
class_alias(Exception::class, '\PHPUnit_Framework_Exception');
class_alias(InvokedRecorder::class, '\PHPUnit_Framework_MockObject_Matcher_InvokedRecorder');
class_alias(SkippedTestError::class, '\PHPUnit_Framework_SkippedTestError');
class_alias(TestCase::class, '\PHPUnit_Framework_TestCase');
class_alias(Test::class, '\PHPUnit_Util_Test');
class_alias(Xml::class, '\PHPUnit_Util_XML');
Таким образом, вы можете просто удалить строку InvokedRecorder
вручную или применить одну из патчи из номера 3063887 (см. выше).
На данный момент я создал минимальный патч только для удаления этой единственной ссылки ...
diff --git a/core/tests/bootstrap.php b/core/tests/bootstrap.php
index 467e6af6e6..ca3b579b6c 100644
--- a/core/tests/bootstrap.php
+++ b/core/tests/bootstrap.php
@@ -14,7 +14,6 @@
use PHPUnit\Framework\Error\Warning;
use PHPUnit\Framework\ExpectationFailedException;
use PHPUnit\Framework\Exception;
-use PHPUnit\Framework\MockObject\Matcher\InvokedRecorder;
use PHPUnit\Framework\SkippedTestError;
use PHPUnit\Framework\TestCase;
use PHPUnit\Util\Test;
@@ -194,7 +193,6 @@ class_alias(Error::class, '\PHPUnit_Framework_Error');
class_alias(Warning::class, '\PHPUnit_Framework_Error_Warning');
class_alias(ExpectationFailedException::class, '\PHPUnit_Framework_ExpectationFailedException');
class_alias(Exception::class, '\PHPUnit_Framework_Exception');
-class_alias(InvokedRecorder::class, '\PHPUnit_Framework_MockObject_Matcher_InvokedRecorder');
class_alias(SkippedTestError::class, '\PHPUnit_Framework_SkippedTestError');
class_alias(TestCase::class, '\PHPUnit_Framework_TestCase');
class_alias(Test::class, '\PHPUnit_Util_Test');
..., которую можно добавить до composer.json
:
{
"patches": {
"drupal/core": {
"Remove InvokedRecorder for PhpUnit 8": "src/patches/3063887-InvokedRecorder.patch"
}
}
}