赛普拉斯和Docker-无法运行,因为未找到任何规范文件

时间:2019-01-03 23:00:15

标签: docker-compose cypress

我正在尝试在docker容器中运行cypress测试。我简化了设置,因此可以尝试运行一个简单的容器实例并执行一些测试。

我正在使用docker-compose

version: '2.1'
services:
  e2e:
    image: test/e2e:v1
    command: ["./node_modules/.bin/cypress", "run", "--spec", "integration/mobile/all.js"]
    build:
      context: .
      dockerfile: Dockerfile-cypress
    container_name: cypress
    network_mode: host

和我的Dokerfile柏树

FROM cypress/browsers:chrome69

RUN mkdir /usr/src/app
WORKDIR /usr/src/app

RUN npm install cypress@3.1.0

COPY cypress /usr/src/app/cypress
COPY cypress.json /usr/src/app/cypress

RUN ./node_modules/.bin/cypress verify

建立图片后,我运行docker-compose up时看到

cypress | name_to_handle_at on /dev: Operation not permitted
cypress | Can't run because no spec files were found.
cypress |
cypress | We searched for any files matching this glob pattern:
cypress |
cypress | integration/mobile/all-control.js
cypress exited with code 1

我已经验证了我的赛普拉斯文件和文件夹已被复制,并且我可以验证我的测试文件是否存在。我已经坚持了一段时间,除了不确定,我不确定该怎么办。

任何指导表示赞赏。

2 个答案:

答案 0 :(得分:0)

结果赛普拉斯会自动检查/ cypress文件夹中的/ integration。将我所有的赛普拉斯文件移动到/ cypress文件夹中即可正常工作。

答案 1 :(得分:0)

问题:在您的自动化套件中未找到 cypress 规范文件。

解决方案:Cypress 测试文件默认位于 cypress/integration,但可以配置到其他目录。 在此文件夹中,按部分插入您的套件:

例如:

 - cypress/integration/billing-scenarios-suite
 - cypress/integration/user-management-suite
 - cypress/integration/proccesses-and-handlers-suite

我假设这些套件目录包含子目录(代表一些微逻辑),因此您需要递归运行它以收集所有文件:

cypress run --spec \
cypress/integration/<your-suite>/**/* , \
cypress/integration/<your-suite>/**/**/*

如果您在 docker 上的 cypress 中运行,请验证 cypress 卷包含测试并映射并安装在 volume 部分(在 Dockerfile / docker-compose.yml 文件上)的容器中并正确运行:

docker exec -it <container-id> cypress run --spec \
cypress/integration/<your-suite>/**/* , \
cypress/integration/<your-suite>/**/**/*