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

时间:2018-02-23 07:56:15

标签: symfony docker phpunit symfony4 bitbucket-pipelines

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

在本地docker容器中,这是: MySQL的://用户:密码@的的MySQL数据库:3306 /数据库

然而,在bitbucket管道中: MySQL的://用户:密码@的本地主机:3306 /数据库

我不想每次都更改phpunit.xml.dist,所以问题是,我怎么能在同一台主机上运行(我不在乎它是不是" localhost" oder& #34;的MySQL数据库&#34)?我试图在bitbucket-pipelines.yml中设置container_name,但它不起作用:



definitions:
  services:
    mysql:
      image: mysql:5.6
      container_name: mysql-database
      environment:
        MYSQL_DATABASE: 'database'
        MYSQL_ROOT_PASSWORD: 'root'
        MYSQL_USER: 'user'
        MYSQL_PASSWORD: 'password'




2 个答案:

答案 0 :(得分:1)

主机数据库配置应由config_test.yml而不是phpunit.xml.dist处理。

如果你无法在config_test.yml中为bitbucket定义自定义参数,你可以定义一个新的symfony环境(即:local_test),它有自己的config_local_test.yml

答案 1 :(得分:0)

找到解决方案: a)as" goto"提到:不要在phpunit.xml.dist中设置数据库凭据 b)我的.env文件凭据被忽略了,所以我不得不在bitbucket设置中设置环境变量