我使用Symfony2(.7)和swiftmailer发送出来的eamils。制作了一个函数,可以同时向多个用户发送电子邮件,并使用profiler建议的symfony页面进行功能测试。该测试由PHPUnit运行。
$client->enableProfiler();
$crawler = $client->request(...);
if ($profile = $client->getProfile()) {
$this->assertEquals(1, $mailCollector->getMessageCount());
}
问题是我的语言环境pc(windows)上的测试没问题,但是当在GitLab Community Edition 8.8.1的CI上运行时测试失败。 $ mailCollector-> getMessageCount()返回0,$ mailCollector-> getMessages()返回一个空数组。
CI配置:
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/
dev cfg:
framework:
router:
resource: "%kernel.root_dir%/config/routing_dev.yml"
strict_requirements: true
profiler: { only_exceptions: false }
web_profiler:
toolbar: true
intercept_redirects: false
测试cfg:
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的其他设置或可能是什么问题? THX。
答案 0 :(得分:0)
我也使用gitlab ci,从来没有遇到过这个问题 - 我也不认为这是CI-Runner的问题。
你确定你在config_test.yml中有这个并在测试本地时使用测试env吗?:
framework:
profiler:
enabled: true