@Vocler

Зачем нужна база данных для тестов в Yii2?

Разбираюсь с тестированием в Yii2. Скачиваю обычный basic шаблон, пытаюсь запустить тесты, получаю
Exception (Database Exception) 'yii\db\Exception' with message 'SQLSTATE[HY000] [1044] Access denied for user 'yii2'@'%' to database 'yii2_basic_tests''
Ошибка происходит и через консоль (codecept run) и через веб (index-test.php).

Судя по всему неправильно сконфигурировано подключение к БД в config/test.php и config/db_test.php.

Я попытался найти ответ в руководстве yii, но там ничего не сказано о БД для тестов. Пытался найти в документации Codeception, но тоже не смог. Смотрел видео на ютубе, там тесты сразу нормально запускались без конфигурирования БД..

Собственно вопрос: что нужно указывать в config/db_test.php?
1) Ту-же БД что я использую при "нормальной" работе приложения? Зачем тогда нужен отдельный файл? Можно ли подтягивать данные из config/db.php?

2) Вторую БД специально созданную для тестов? Что тогда это должна быть за БД? Она должна быть пустой? Она должна быть копией БД для "нормальной" работы приложения? Тут меня очень сильно смутило что я не смог найти информацию про эту "тестовую" БД. Буду благодарен если укажете направление куда копать.

UPD: Так-же интересно зачем вообще нужен отдельный конфиг config/test.php
Ведь при тестировании условия должны быть максимально приближены к "боевым". Почему нельзя при тестах использовать стандартный конфиг?
  • Вопрос задан
  • 182 просмотра
Решения вопроса 1
Maksclub
@Maksclub
maksfedorov.ru
Тестовая бд нужна для тестовых манипуляций, вы же не будете в боевой удалять и добавлять, делать продажи и выптсывать документы? Или будете? ;) Не будете же реальным адресам отправлять письма?

Тестовая бд -- база-имитация. Почти как настоящая, но с нестоящими данными. Тестируйте в ней.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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