我有一个 docker-compose.yml 文件:
version: '2'
services:
web:
build: .
command: npm run dev
volumes:
- .:/usr/app
- /usr/app/node_modules
ports:
- "8080:8080"
expose:
- "8080"
还有一个 Dockerfile
FROM node:7.7.2-alpine
WORKDIR /usr/app
COPY package.json .
RUN npm install --quiet
COPY . .
现在我想通过运行添加 cypress ( https://www.cypress.io/ ) 来运行测试:
npm install --save-dev cypress
但也许它不起作用,因为我看不到 cypress 文件夹。
安装cypress后,我运行
/node_module/.bin/cypress open
我看不到柏树打开。
所以现在我不知道如何将 cypress 添加到我的 docker 以通过 cypress 在我的主机上运行测试。
最佳答案
如果您使用的是 docker-compose,更简洁的解决方案是仅使用一个单独的专用 Cypress Docker 容器,因此您的 docker-compose.yml
变为:
version: '2'
services:
web:
build: .
entrypoint: npm run dev
volumes:
- .:/usr/app
- /usr/app/node_modules
ports:
- "8080:8080"
cypress:
image: "cypress/included:3.2.0"
depends_on:
- web
environment:
- CYPRESS_baseUrl=http://web:8080
working_dir: /e2e
volumes:
- ./:/e2e
e2e
目录应该包含您的 cypress.json
文件和您的 integration/spec.js
文件。您的 package.json
文件根本不必包含 Cypress,因为它已融入 Cypress Docker 镜像 (cypress/included
)。
有关更多详细信息,我写了一篇关于将 Docker Compose 与 Cypress 结合使用的综合教程:
关于docker - 如何将 cypress 添加到我当前的 docker 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49103766/