当我在CI中运行赛普拉斯测试时,赛普拉斯跑步者无法解决问题
“看到”数据库users-db
已创建。
.gitlab.yml:
compile:
stage: build
script:
- apk add --no-cache py-pip python2-dev python3-dev libffi-dev openssl-dev gcc libc-dev make npm
- pip install docker-compose
- npm install
- docker-compose up -d --build
- docker-compose exec -T users python manage.py recreate_db
- docker-compose exec -T users python manage.py test
- docker-compose exec -T client npm test -- --coverage --watchAll --watchAll=false
- docker pull cypress/included:4.11.0
- docker run -e REACT_APP_USERS_SERVICE_URL=http://127.0.0.1 -v $PWD:/e2e -w /e2e --network flaskondocker_default cypress/included:4.11.0 --config baseUrl=http://nginx
赛普拉斯本地运行正常,并且测试通过了,但未在CI内通过,不久之后 进行一些故障排除后,我发现Cypress容器似乎无法识别 确实创建了后端数据库。有问题的行是:
docker-compose exec -T users python manage.py recreate_db
docker run -e REACT_APP_USERS_SERVICE_URL=http://127.0.0.1 -v $PWD:/e2e -w /e2e --network flaskondocker_default cypress/included:4.11.0 --config baseUrl=http://nginx
我可以确定在到达赛普拉斯测试步骤之前确实已创建数据库,因为我在赛普拉斯针对数据库进行测试并通过测试之前运行了单元测试。