Загрузка нужно базы для тестов.

Всё про тестирование в Yii 2.0
Ответить
Аватара пользователя
Chelobaka
Сообщения: 203
Зарегистрирован: 2018.06.01, 09:54

Загрузка нужно базы для тестов.

Сообщение Chelobaka » 2019.09.06, 14:33

Здравствуйте, уже который день пробую разные варианты настройки конфигов для работы с БД при тестировании.

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

suite_namespace: frontend\tests\acceptance
actor: AcceptanceTester
modules:
    enabled:
        - WebDriver:
              url: http://site.com/
              browser: chrome
              port: 4444
        - Yii2:
              configFile: 'config/test.php'
              part: [init, orm, fixtures]
              transaction: false
              cleanup: false
              scriptFile: index-test.php

index-test.php

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

// NOTE: Make sure this file is not accessible when deployed to production
if (!in_array(@$_SERVER['REMOTE_ADDR'], ['127.0.0.1', '::1'])) {
    die('You are not allowed to access this file.');
}

defined('YII_DEBUG') or define('YII_DEBUG', true);
defined('YII_ENV') or define('YII_ENV', 'test');

require __DIR__ . '/../../vendor/autoload.php';
require __DIR__ . '/../../vendor/yiisoft/yii2/Yii.php';
require __DIR__ . '/../../common/config/bootstrap.php';
require __DIR__ . '/../config/bootstrap.php';


$config = yii\helpers\ArrayHelper::merge(
    require __DIR__ . '/../../common/config/main.php',
    require __DIR__ . '/../../common/config/main-local.php',
    require __DIR__ . '/../../common/config/test.php',
    require __DIR__ . '/../../common/config/test-local.php',
    require __DIR__ . '/../config/main.php',
    require __DIR__ . '/../config/main-local.php',
    require __DIR__ . '/../config/test.php',
    require __DIR__ . '/../config/test-local.php'
);

(new yii\web\Application($config))->run();
Вот что заметил. Скрипт заходит в index-test.php но потом переходит на index.php где нет конфига config/test.php и config/test-local.php'
Если в файл принудительно добавить эти данные то база подключается та что нужно.

Приходят в голову мысли что нужно делать новое окружение: Тест которое будет просто заменять файл index.php на нужны, но всё же не ясно зачем изначально существуют index-test если они работают не так как нужно или что вероятнее я не правильно настроил.

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

Re: Загрузка нужно базы для тестов.

Сообщение ElisDN » 2019.09.06, 19:24

Chelobaka писал(а):
2019.09.06, 14:33
Вот что заметил. Скрипт заходит в index-test.php но потом переходит на index.php где нет конфига config/test.php и config/test-local.php'
Если в файл принудительно добавить эти данные то база подключается та что нужно.
Где именно это происходит? В тестах свежеустановленного yii2-app-advanced также?

Аватара пользователя
Chelobaka
Сообщения: 203
Зарегистрирован: 2018.06.01, 09:54

Re: Загрузка нужно базы для тестов.

Сообщение Chelobaka » 2019.09.10, 16:32

ElisDN писал(а):
2019.09.06, 19:24
Где именно это происходит?
В index.php при запуске acceptance test
ElisDN писал(а):
2019.09.06, 19:24
В тестах свежеустановленного yii2-app-advanced также?
Нет.

Аватара пользователя
Chelobaka
Сообщения: 203
Зарегистрирован: 2018.06.01, 09:54

Re: Загрузка нужно базы для тестов.

Сообщение Chelobaka » 2019.09.10, 17:29

ElisDN писал(а):
2019.09.06, 19:24
Chelobaka писал(а):
2019.09.06, 14:33
Вот что заметил. Скрипт заходит в index-test.php но потом переходит на index.php где нет конфига config/test.php и config/test-local.php'
Если в файл принудительно добавить эти данные то база подключается та что нужно.
Где именно это происходит? В тестах свежеустановленного yii2-app-advanced также?
что еще более странно, unit тесты понимают из какой базы работать, accept нет.

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

suite_namespace: frontend\tests\acceptance
actor: AcceptanceTester
modules:
    enabled:
        - WebDriver:
              url: http://site.com/
              browser: chrome
              port: 4444
        - Yii2:
              configFile: 'config/test.php'
              part: [init, orm, fixtures, email]
              transaction: false
              cleanup: false

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

suite_namespace: frontend\tests\unit
actor: UnitTester
modules:
    enabled:
        - Yii2:
              configFile: 'config/test.php'
              part: [init, orm, fixtures, email]
              transaction: false
              cleanup: false

        - Asserts

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

Re: Загрузка нужно базы для тестов.

Сообщение ElisDN » 2019.09.10, 21:14

Проверьте, что они открывают

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

http://site.com/index-test.php/about

Аватара пользователя
Chelobaka
Сообщения: 203
Зарегистрирован: 2018.06.01, 09:54

Re: Загрузка нужно базы для тестов.

Сообщение Chelobaka » 2019.09.11, 10:13

ElisDN писал(а):
2019.09.10, 21:14
Проверьте, что они открывают

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

http://site.com/index-test.php/about
404 возвращает.

Ответить