【问题标题】:How to run Cypress from Docker?如何从 Docker 运行 Cypress?
【发布时间】:2020-06-26 14:36:08
【问题描述】:

我正在尝试使用 Docker 运行 Cypress 测试。 从我遵循的教程中,我得到了这个命令:

docker run -it -v ~/tdd/services/cypress:/cypress -w /cypress --entrypoint=cypress cypress/included:4.9.0 run

这会抛出:

Can't run because no spec files were found.

We searched for any files inside of this folder:

/cypress/cypress/integration

我将 Cypress 目录与所有测试规范和 cypress.json 文件保存在绝对路径 ~/tdd/services/cypress 中,该路径包含在命令中,因此 Cypress 知道要添加到容器中的文件。

cypress 目录结构:

cypress/
    integration/
    cypress.json
    package.json

无论如何都会出错。在 Cypress 和 Docker 方面有更全面的人可以帮助我吗?

Dockerfile:

FROM cypress/included:4.9.0

WORKDIR /
RUN rm -rf /cypress/integration
ADD integration /cypress/integration
COPY package.json /cypress/package.json
RUN npm install randomstring --save
RUN cypress run

【问题讨论】:

  • 您能否编辑您的问题并添加您的Dockerfile 的外观。我发现/cypress/cypress/integration 有问题。基本上您的规范文件没有复制到正确的目录中,所以我想看看您是如何将文件复制到 Dockerfile 中的目录中的。
  • 我没有使用任何 Dockerfile。命令 docker run -it -v ~/tdd/services/cypress:/cypress -w /cypress --entrypoint=cypress cypress/included:4.9.0 run 应该替换 Dockerfile。
  • 是的,很明显它正在寻找错误路径 /cypress/cypress/integration 中的文件。没有双柏树目录。

标签: docker cypress


【解决方案1】:

你的柏树结构应该是这样的:

cypress/
    integration/
cypress.json
package.json

或者,如果您出于上述原因想要保留它,请在cypress.json 文件中指定:"integrationFolder": "integration"。 这将覆盖默认的cypress/integration 路径值,但我建议第一个解决方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-14
    • 1970-01-01
    • 2021-07-08
    • 2020-11-01
    • 1970-01-01
    相关资源
    最近更新 更多