如何使用 Node.js 服务器为 Cypress 测试创建 Dockerfile
How to create Dockerfile for Cypress tests with Node.js server
我有我的赛普拉斯测试,而且,我有一些与远程数据库一起工作的服务,最重要的是,Node.js
我需要在出现错误时发送电子邮件的服务器。项目结构如下所示:
我已经创建了 Dockerfile
,但它似乎不起作用:
FROM cypress/included:9.4.1
WORKDIR /e2e-test
COPY package.json /e2e
RUN npm install
COPY . .
VOLUME [ "/e2e-test" ]
CMD ["npm", "run", "tests"]
所以,我需要做的是将此文件夹挂载到 docker 容器,然后通过 npm run tests
运行 本地服务器(注意:我只需要这个本地服务器用于 nodemailer
,因为它只能在服务器端工作。
此外,脚本 npm run tests
看起来像这样。此脚本 运行s 服务器然后测试 - "tests": "npm run dev & npx cypress run"
我该如何实施?
可以这样做:
Dockerfile
:
FROM cypress/base:16.13.0
RUN mkdir /e2e-test
WORKDIR /e2e-test
COPY package.json ./
RUN npm install
COPY . .
ENTRYPOINT ["npm", "run", "tests"]
然后使用下一个命令开始此操作(例如在 Makefile
中):docker run -it -v $PWD:/e2e-test -w /e2e-test e2e-tests
这样,我们就可以在node
服务器上工作,让它发送邮件,同时,我们将挂载卷。
我有我的赛普拉斯测试,而且,我有一些与远程数据库一起工作的服务,最重要的是,Node.js
我需要在出现错误时发送电子邮件的服务器。项目结构如下所示:
我已经创建了 Dockerfile
,但它似乎不起作用:
FROM cypress/included:9.4.1
WORKDIR /e2e-test
COPY package.json /e2e
RUN npm install
COPY . .
VOLUME [ "/e2e-test" ]
CMD ["npm", "run", "tests"]
所以,我需要做的是将此文件夹挂载到 docker 容器,然后通过 npm run tests
运行 本地服务器(注意:我只需要这个本地服务器用于 nodemailer
,因为它只能在服务器端工作。
此外,脚本 npm run tests
看起来像这样。此脚本 运行s 服务器然后测试 - "tests": "npm run dev & npx cypress run"
我该如何实施?
可以这样做:
Dockerfile
:
FROM cypress/base:16.13.0
RUN mkdir /e2e-test
WORKDIR /e2e-test
COPY package.json ./
RUN npm install
COPY . .
ENTRYPOINT ["npm", "run", "tests"]
然后使用下一个命令开始此操作(例如在 Makefile
中):docker run -it -v $PWD:/e2e-test -w /e2e-test e2e-tests
这样,我们就可以在node
服务器上工作,让它发送邮件,同时,我们将挂载卷。