@webroot не определяется корректно при тестировании

Всё про тестирование в Yii 2.0
Ответить
lan143
Сообщения: 8
Зарегистрирован: 2017.04.07, 16:05
Откуда: Волгодонск
Контактная информация:

@webroot не определяется корректно при тестировании

Сообщение lan143 » 2017.07.10, 08:37

Всем привет. Использую basic шаблон. При запуске api тестов, на стороне тестируемого кода некорректно определяется алиас @webroot - он пустой. Это связано с тем, что Request::getScriptFile() возвращает просто название файла index-test.php, когда в обычном использовании возвращается полный путь до index.php файла. Можете подсказать как исправить эту ситуацию?

Аватара пользователя
yiijeka
Сообщения: 2959
Зарегистрирован: 2012.01.28, 09:14
Откуда: Беларусь

Re: @webroot не определяется корректно при тестировании

Сообщение yiijeka » 2017.07.10, 08:44

Код: Выделить всё

/**
     * Returns the entry script file path.
     * The default implementation will simply return `$_SERVER['SCRIPT_FILENAME']`.
     * @return string the entry script file path
     * @throws InvalidConfigException
     */
    public function getScriptFile()
    {
        if (isset($this->_scriptFile)) {
            return $this->_scriptFile;
        } elseif (isset($_SERVER['SCRIPT_FILENAME'])) {
            return $_SERVER['SCRIPT_FILENAME'];
        } else {
            throw new InvalidConfigException('Unable to determine the entry script file path.');
        }
    }
Если дело в этом коде, то что-то не так с $_SERVER['SCRIPT_FILENAME']

Аватара пользователя
ElisDN
Сообщения: 4727
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: @webroot не определяется корректно при тестировании

Сообщение ElisDN » 2017.07.10, 09:04

Для функциональных можно в config/tests.php указать:

Код: Выделить всё

'components' => [
    'request' => [
        'scriptFile' => dirname(__DIR__) . '/web/index-test.php',
    ],
],
Не забудьте пройти мастер-класс по Yii2.

lan143
Сообщения: 8
Зарегистрирован: 2017.04.07, 16:05
Откуда: Волгодонск
Контактная информация:

Re: @webroot не определяется корректно при тестировании

Сообщение lan143 » 2017.07.10, 11:08

ElisDN писал(а):
2017.07.10, 09:04
Для функциональных можно в config/tests.php указать:

Код: Выделить всё

'components' => [
    'request' => [
        'scriptFile' => dirname(__DIR__) . '/web/index-test.php',
    ],
],
Спасибо, эта проблема решилась. Но почему-то UploadedFile::saveAs не хочет сохранять загружаемый файл через codeception. Не знаете с чем это может быть связано?

Аватара пользователя
ElisDN
Сообщения: 4727
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: @webroot не определяется корректно при тестировании

Сообщение ElisDN » 2017.07.10, 13:27

lan143 писал(а):
2017.07.10, 11:08
Но почему-то UploadedFile::saveAs не хочет сохранять загружаемый файл через codeception. Не знаете с чем это может быть связано?
С тем, что используется процедура move_uploaded_file, которая перемещает только реально загруженный файл.

Решается через viewtopic.php?t=36797#p188670
Не забудьте пройти мастер-класс по Yii2.

lan143
Сообщения: 8
Зарегистрирован: 2017.04.07, 16:05
Откуда: Волгодонск
Контактная информация:

Re: @webroot не определяется корректно при тестировании

Сообщение lan143 » 2017.07.10, 15:56

ElisDN писал(а):
2017.07.10, 13:27
lan143 писал(а):
2017.07.10, 11:08
Но почему-то UploadedFile::saveAs не хочет сохранять загружаемый файл через codeception. Не знаете с чем это может быть связано?
С тем, что используется процедура move_uploaded_file, которая перемещает только реально загруженный файл.

Решается через viewtopic.php?t=36797#p188670
Спасибо, то что нужно.

Ответить