0

我正在努力使用带有 docker 的 Cypress 测试我的应用程序,我将专用的 docker 映像与以下命令一起使用:docker run -it -v $PWD:/e2e -w /e2e cypress/included:8.7.0

我启动它时总是出现这个错误:`找不到赛普拉斯配置文件,正在退出。

我们查看但未在此文件夹中找到默认配置文件:/e2e`

这意味着 cypress 找不到 cypress.json 但它恰好在专用文件夹中,这是我的目录/文件树:

pace    
   front
      cypress
      cypress.json

所以这是一个用于 e2e 测试的标准文件树,尽管我使用了所有技巧(不使用 $PWD 而是使用完整的目录路径,重新安装 docker、colima 引擎等。没有任何工作,如果我在本地运行 npm run cypress,一切正常!

当我尝试这些命令时,不用说我在 /pace/front 目录中

你能帮我吗 ?

4

1 回答 1

0

-v $PWD:/e2e是安装卷(绑定安装)的 docker 指令。它在运行时将当前目录挂载到/e2edocker 容器内。

文档中,它提到了一个结构,它期望cypress.json文件直接位于/e2e. 要做到这一点,您必须执行以下任一操作:

  • -v $PWD/pace/front:/e2e
  • pace/front目录中运行命令

由于 docker 中的CMDandENTRYPOINT命令从您运行,WORKDIR您也可以尝试从您所在的位置运行它,但将 workdir 更改为: -w /e2e/pace/front 我还没有看到他们的 dockerfile,但我的假设是这会起作用。我个人的选择是从pace/front

于 2022-01-18T08:41:14.487 回答