【发布时间】:2021-11-14 23:20:09
【问题描述】:
我正在 GitLab 上使用 cypress 运行 e2e 测试。这是我运行赛普拉斯测试的命令:
docker-compose -f devops/e2e/docker-compose.yml up cypress
Cypress 服务只是基于cypress/included:8.4.0 图像。
所以在我的 Gitlab 工作中,当测试成功时,我会得到这样的结果:
cypress | Spec Tests Passing Failing Pending Skipped
cypress | ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
cypress | │ ✔ login_spec.js 00:04 1 1 - - - │
cypress | ├────────────────────────────────────────────────────────────────────────────────────────────────┤
cypress | │ ✔ multi_resolution_image_spec.js 00:41 1 1 - - - │
cypress | ├────────────────────────────────────────────────────────────────────────────────────────────────┤
cypress | │ ✔ plain_image_spec.js 00:40 1 1 - - - │
cypress | ├────────────────────────────────────────────────────────────────────────────────────────────────┤
cypress | │ ✔ signup_spec.js 00:10 1 1 - - - │
cypress | └────────────────────────────────────────────────────────────────────────────────────────────────┘
cypress | ✔ All specs passed! 01:36 4 4
cypress exited with code 0
.
.
.
Job succeeded
但是当测试失败时,我得到:
cypress | Spec Tests Passing Failing Pending Skipped
cypress | ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
cypress | │ ✖ annotate_spec.js 00:02 1 - 1 - - │
cypress | ├────────────────────────────────────────────────────────────────────────────────────────────────┤
cypress | │ ✔ login_spec.js 00:05 1 1 - - - │
cypress | ├────────────────────────────────────────────────────────────────────────────────────────────────┤
cypress | │ ✔ signup_spec.js 00:13 1 1 - - - │
cypress | └────────────────────────────────────────────────────────────────────────────────────────────────┘
cypress | ✖ 1 of 3 failed (33%) 00:21 3 2 1
cypress exited with code 1
.
.
.
Job succeeded
问题是在运行测试失败的情况下,我仍然从 Gitlab 获得 Job succeeded。如何让 Gitlab CI 运行器从 cypress 服务退出代码中获取其退出代码?
【问题讨论】:
标签: javascript gitlab gitlab-ci cypress e2e-testing