Symfony 在本地docker映像和具有相同xml配置的bitbucket管道上运行数据库phpunit测试

Symfony 在本地docker映像和具有相同xml配置的bitbucket管道上运行数据库phpunit测试,symfony,docker,phpunit,symfony4,bitbucket-pipelines,Symfony,Docker,Phpunit,Symfony4,Bitbucket Pipelines,我使用docker和bitbucket管道,并在本地docker容器和bitbucket管道中运行数据库phpunit测试。这很有效。在phpunit.xml.dist中,我指示数据库url 在本地docker容器中,这是: mysql://user:password@mysql数据库:3306/数据库 然而,在比特桶管道中: mysql://user:password@localhost:3306/数据库 我不想每次都更改phpunit.xml.dist,所以问题是,如何在同一台主机上同时运行

我使用docker和bitbucket管道,并在本地docker容器和bitbucket管道中运行数据库phpunit测试。这很有效。在phpunit.xml.dist中,我指示数据库url

在本地docker容器中,这是: mysql://user:password@mysql数据库:3306/数据库

然而,在比特桶管道中: mysql://user:password@localhost:3306/数据库

我不想每次都更改phpunit.xml.dist,所以问题是,如何在同一台主机上同时运行这两个文件(我不在乎它是“localhost”还是“mysql数据库”)?我试图在bitbucket-pipelines.yml中设置容器名称,但它不起作用:

定义:
服务:
mysql:
图片:mysql:5.6
容器名称:mysql数据库
环境:
MYSQL_数据库:“数据库”
MYSQL\u ROOT\u密码:“ROOT”
MYSQL_用户:“用户”

MYSQL\u PASSWORD:“PASSWORD”
主机数据库配置应由
config\u test.yml
而不是
phpunit.xml.dist
处理

如果无法在bitbucket的
config\u test.yml
中定义自定义参数,则可以定义一个新的symfony环境(即:
local\u test
),该环境有自己的
config\u local\u test.yml
找到了解决方案: a) 正如“goto”所提到的:不要在phpunit.xml.dist中设置数据库凭据
b) 我的.env文件凭据被忽略,因此我必须在bitbucket设置中设置环境变量

我正在使用symfony 4,并在.env文件中进行配置。如果我不将数据库url添加到phpunit.xml.dist,我的数据库测试将失败。