我的应用程序在 docker 中运行并设置 Github Actions 来运行我的测试。为了运行 Behat 测试,我有一个单独的测试数据库,因此还有一个单独的 .env 可以使用。
在 .env.test
DATABASE_URL=mysql://root:emc@mysql:3306/emc_test?serverVersion=5.7
Run Code Online (Sandbox Code Playgroud)
在 docker-compose.test.yml
version: "3.7"
services:
mysql:
build:
context: docker/mysql
dockerfile: Dockerfile
volumes:
- mysql-data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: emc
MYSQL_USER: emc
MYSQL_PASSWORD: emc
MYSQL_DATABASE: emc
TZ: Europe/Brussels
ports:
- "3306:3306"
networks:
- backend
cli:
image: christianvermeulen/itexperts:latest
volumes:
- .:/application:cached
- app-cache:/application/var/cache
- composer:/composer
networks:
- backend
volumes:
composer:
app-cache:
mysql-data:
networks:
backend:
Run Code Online (Sandbox Code Playgroud)
一旦我点击数据库,我就会收到一个连接被拒绝的消息。我在 Symfony 中设置了这个测试命令:
DATABASE_URL=mysql://root:emc@mysql:3306/emc_test?serverVersion=5.7
Run Code Online (Sandbox Code Playgroud)
最后我还想看看一些信息,所以我在 Github Actions 中运行以下命令:
- name: Prepare Testing
run: |
cp docker-compose.test.yml docker-compose.yml …Run Code Online (Sandbox Code Playgroud)