При запуске тестов (Codeception) из PhpStorm для Yii2 может появляться ошибка перезаписи cookie.
Текст ошибки:
Testing started at 19:22 ... [vagrant://d:\projects\testforblogproject]:/usr/bin/php /home/vagrant/.phpstorm_helpers/codeception.php run --report -o "reporters: report: PhpStorm_Codeception_ReportPrinter" --no-ansi --no-interaction Codeception PHP Testing Framework v2.5.4 Powered by PHPUnit 7.5.6-10-g6a93fd3 by Sebastian Bergmann and contributors. Running with seed: session_set_cookie_params(): Cannot change session cookie parameters when headers already sent /app/vendor/yiisoft/yii2/web/Session.php:388 /app/vendor/yiisoft/yii2/web/Session.php:135 /app/vendor/yiisoft/yii2/web/Session.php:612 /app/vendor/yiisoft/yii2/web/Session.php:704 /app/vendor/yiisoft/yii2/web/Session.php:871 /app/views/site/contact.php:17 /app/vendor/yiisoft/yii2/base/View.php:348 /app/vendor/yiisoft/yii2/base/View.php:257 /app/vendor/yiisoft/yii2/base/View.php:156 /app/vendor/yiisoft/yii2/base/Controller.php:384 ...
Для её исправления включите буферизацию вывода с помощью стандартной PHP-функции ob_start() в bootstrap-файле тестов. По умолчанию Yii2 создает директорию “tests” в корне проекта и генерирует bootstrap-файл для запуска тестов – “../tests/_bootstrap.php”:
<?php define('YII_ENV', 'test'); defined('YII_DEBUG') or define('YII_DEBUG', true); require_once __DIR__ . '/../vendor/yiisoft/yii2/Yii.php'; require __DIR__ .'/../vendor/autoload.php'; ob_start(); // <------------ Буферизация вывода.
Добавить комментарий
Для отправки комментария вам необходимо авторизоваться.