@rumasterov

Yii2 и Codeception: почему не работает Stub для Request компонента?

Всем привет.

Пишу функциональный тест в Codeception, хочу сделать подмену метода getUserIP() компонента Request, для этого создаю Stub и регистрирую его в приложении:

$requestStub = Stub::make(\yii\web\Request::class, ['getUserIP' => function () { return '192.168.0.10'; }]);
\Yii::$app->set('request', $requestStub);


Запускаю тест и получаю ошибку:
[yii\base\ErrorException] Undefined index: SCRIPT_FILENAME


Начинаю смотреть подробнее, ошибка появляется в yii2\web\Request.php:
public function getScriptFile()
{
    return isset($this->_scriptFile) ? $this->_scriptFile : $_SERVER['SCRIPT_FILENAME'];
} 


Пишу error_log внутри этого метода и вывожу в лог содержимое переменной $_SERVER, запускаю функциональный тест и вижу в логе что есть индекс SCRIPT_FILENAME.

Каким образом может получаться такая ошибка, если индекс есть?

Может кто-нибудь стакливался с таким?
  • Вопрос задан
  • 385 просмотров
Пригласить эксперта
Ответы на вопрос 1
Insolita
@Insolita
Отчаянная домохозяйка
а другие функциональные тесты срабатывают? это похоже на ошибку при неверной конфигурации функционального теста
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы