PHPUnit 7.2 и Codeception 2.4 несовместимы

Попытка установить CodeCeption с фреймворком Laravel 5.6

Я получаю эту ошибку.

Шаги, которые я выполнил для установки: 1. композитор требует codeception / codeception --dev 2. Загрузочный файл php ./vendor/bin/codecept

Я получаю ошибку

Fatal error: Declaration of Codeception\Test\Unit::getDependencies() must be compatible with PHPUnit\Framework\TestCase::getDependencies(): array in /vendor/codeception/codeception/src/Codeception/Test/Unit.php on line 14

Может кто-нибудь сказать, как исправить это или перейти на более раннюю версию и заставить его работать с Laravel 5.6?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
469
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

В строке Codeception / Test / Unit.php № 133 измените функцию getDependencies, чтобы она имела тип возвращаемого значения. : array

После изменения функция getDependencies должна выглядеть так.

public function getDependencies(): array
{
    $names = [];
    foreach ($this->getMetadata()->getDependencies() as $required) {
        if ((strpos($required, ':') === false) and method_exists($this, $required)) {
            $required = get_class($this) . ":$required";
        }
        $names[] = $required;
    }
    return $names;
}

Это было просто исправлено в codeception/codeception версии 2.4.5, поэтому запустите composer update, и ошибка больше не должна возникать.


Из журнала изменений (мой акцент):

2.4.5
  • Fixed PHPUnit 7.2 compatibility.
  • Introduced RunBefore extension to execute scripts before running tests. See #5049 by @aashmelev.
  • [Db] Added two options for MySQL by @bangertz
    • ssl_cipher - list of one or more permissible ciphers to use for SSL encryption
    • ssl_verify_server_cert - disables certificate CN verification
  • [Db] Always disconnect before connect when reconnect is set. By @ashnazg
  • [Db] More explicit PDO closing upon destruction and close opened transactions by @ashnazg.
  • [Recorder Extension] Improved error logging by @OneEyedSpaceFish. See #5101
  • [Lumen] Fixed file uploads via REST module. By @retnek.
  • Fixed: function getMetadata() may not exist, results in fatal error. See #4913 by @marcovtwout

Другие вопросы по теме