Gitlab CI/CD запуск модульных тестов

# #gitlab-ci #cicd

Вопрос:

Мне нужно запустить модульные тесты на конвейере gitlab. Вот мой .gitlab-ci.yml :

 stages:
  - build
image: napp/php-ci:7.4-fpm

services:
  - name: mysql:5.7
    alias: mysql

variables:
  MYSQL_ROOT_PASSWORD: pass_root
  MYSQL_DATABASE: db_test
  MYSQL_USER: user
  MYSQL_PASSWORD: test
  DATABASE_URL: 'mysql://user:test@mysql:3306/db_test'

build:
  stage: build
  only:
    - master
    - staging
  services:
    - mysql:5.7
  script:
    - apt-get update
    - apt-get install zip unzip
    - php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
    - php composer-setup.php
    - php -r "unlink('composer-setup.php');"
    - php composer.phar install
    - php bin/console app:deploy:symfony:local
    - ./vendor/bin/phpunit

 

В gitlab у меня ошибка: Access denied for user 'user'@'%' to database 'db_test_test'
Почему он проводит тесты не на db_test «db_test_test», а на «db_test_test»?

Не могли бы вы, пожалуйста, помочь мне, чтобы я мог запустить соответствующую базу данных — db_test

Ответ №1:

Проверьте свой файл env.test или любой другой файл среды, который вы используете для тестирования. Появится строка, которая добавит префикс _test к имени вашей базы данных.

Комментарии:

1. Спасибо за ответ. Я пытался. Вот мой файл env для тестирования: ` KERNEL_CLASS=’Приложениеядро’ APP_SECRET=’$ecretf0rt3st’ SYMFONY_DEPRECATIONS_HELPER=999999 PANTHER_APP_ENV=panther APP_ENV=тест DATABASE_URL=mysql://user:test@mysql:3306/db_test MAILER_DSN=null://null #Так держать `

2. @OleksiiZakharuk у вас должен быть файл .env.test.