Gar*_*uuk 6 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
Run Code Online (Sandbox Code Playgroud)
和我的 Dokerfile-cypress
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
Run Code Online (Sandbox Code Playgroud)
当我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
Run Code Online (Sandbox Code Playgroud)
我已验证我的 cypress 文件和文件夹已被复制,并且我可以验证我的测试文件是否存在。我已经坚持了一段时间,我不确定除了放弃之外还能做什么。
任何指导表示赞赏。
问题:在您的自动化套件中找不到 cypress 规格文件。
解决方案cypress/integration:Cypress 测试文件默认位于,但可以配置到其他目录。在此文件夹中按部分插入您的套件:
例如:
- cypress/integration/billing-scenarios-suite
- cypress/integration/user-management-suite
- cypress/integration/proccesses-and-handlers-suite
Run Code Online (Sandbox Code Playgroud)
我假设这些套件目录包含子目录(代表一些微逻辑),因此您需要递归运行它来收集所有文件:
cypress run --spec \
cypress/integration/<your-suite>/**/* , \
cypress/integration/<your-suite>/**/**/*
Run Code Online (Sandbox Code Playgroud)
如果您在 docker 上的 cypress 中运行,请验证 cypress 卷包含测试并映射并安装在容器中的volume部分(在 Dockerfile / docker-compose.yml 文件上)并正确运行它:
docker exec -it <container-id> cypress run --spec \
cypress/integration/<your-suite>/**/* , \
cypress/integration/<your-suite>/**/**/*
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5542 次 |
| 最近记录: |