首页 文章

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

提问于
浏览
0

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

在本地docker容器中,这是:mysql:// user:password @ mysql-database :3306 / database

但是在bitbucket管道中:mysql:// user:password @ localhost :3306 / database

我不想每次都更改phpunit.xml.dist,所以问题是,我怎么能在同一台主机上运行(我不在乎它是“localhost”还是“mysql-database”)?我尝试在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 回答

  • 1

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

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

  • 0

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

相关问题