Функциональный тест Symfony2 swiftmailer не работает на Gitlab CI

Я использую Symfony2 (.7) с swiftmailer для отправки eamils. Сделал функцию для отправки писем сразу нескольким пользователям и функциональный тест для нее, так как страница symfony предложила использовать профайлер. Тест запускается PHPUnit.

 $client->enableProfiler();
 $crawler = $client->request(...);

 if ($profile = $client->getProfile()) {
    $this->assertEquals(1, $mailCollector->getMessageCount());
}

Проблема в том, что тест проходит нормально на моем локальном компьютере (Windows), но при запуске на GitLab Community Edition 8.8.1 CI тест не проходит. $mailCollector->getMessageCount() возвращает 0, а также $mailCollector->getMessages() пустой массив.

Конфигурация КИ:

before_script:
  - composer config --global ..
  - composer self-update
  - composer install
  - cat app/config/parameters.yml
  - mysqlthings

stages:
  - test

test:
  script:
  - php app/console doctrine:schema:update --force
  - php app/console doctrine:fixtures:load
  - php app/console security:check
  - php app/console cache:clear --env=test
  - php -d zend_extension=xdebug.so phpunit.phar -c app/

Конфиг.разработчика:

framework:
    router:
        resource: "%kernel.root_dir%/config/routing_dev.yml"
        strict_requirements: true
    profiler: { only_exceptions: false }

web_profiler:
    toolbar: true
    intercept_redirects: false

тестовый конфиг:

imports:
    - { resource: config_dev.yml }

framework:
    test: ~
    session:
        storage_id: session.storage.mock_file
    profiler:
        enabled: true

web_profiler:
    toolbar: false
    intercept_redirects: false

swiftmailer:
    disable_delivery: true

security:
    firewalls:
        main:
            http_basic: ~

Кстати, эти файлы одинаковы в gitlab и в моей локали. Я также пробовал почтовик с этим:

    mailer_transport: smtp
    mailer_host: 127.0.0.1
    mailer_user: null
    mailer_password: null
    mailer_port: 465

и с настоящим почтовым сервером в качестве последней надежды.. Нужны ли какие-то дополнительные настройки на CI или в чем может быть проблема? Спасибо.


person fagyi    schedule 06.09.2016    source источник
comment
Вы нашли решение? Я также столкнулся с этой проблемой.   -  person Ramesh Kithsiri HettiArachchi    schedule 22.01.2021
comment
Извините, но я не могу вспомнить, но не думаю, что   -  person fagyi    schedule 22.01.2021


Ответы (1)


Я тоже использую gitlab ci, и у меня никогда не было этой проблемы — я также не думаю, что это проблема с CI-Runner.

Вы уверены, что у вас есть это в config_test.yml и используете тестовую среду при тестировании локально?:

framework:
   profiler:
       enabled: true
person Rufinus    schedule 06.09.2016
comment
Конечно, он включен: / также тест входит в ветку if, и я тоже получил сборщик почты, так что они работают, но количество сообщений равно 0 на CI, но спасибо за ваш ответ - person fagyi; 07.09.2016
comment
почему ваша настройка БД в --env=dev (по умолчанию)? - person Rufinus; 12.09.2016