node.js - 在 CI / CD 管道中运行 cypress 测试的最佳实践是什么?
问题描述
我在一家私营企业工作,希望将Cypress
E2E 测试与我们的gitlab
CI/CD 管道集成。
由于 cypress 需要安装二进制 zip 文件,我不能简单地运行npm i
并希望一切正常。
我面临 3 个选项,不确定哪一个是理想的方式:
在 CI 期间以某种方式包含 cypress 二进制文件,缓存它们,并将应用程序映像部署到测试和开发环境。一个用于测试,一个用于实际的应用程序部署。
(如果可能的话,这是最快的方法,因为它不需要额外的图像构建,我很想看到一个 gitlab-ci.yml 示例:))使用 2 个不同的图像 -
nodejs-8-rhel7
图像 - 将用于应用程序部署(目前正在使用)cypress-included
图像 - 将包括 cypress 以及应用程序代码(并将用于测试)。
在这种情况下,我必须构建应用程序映像两次,一次使用 cypress,另一次不使用,这看起来是一个缓慢的过程。
- 将
cypress-included
映像用于应用程序和测试部署。
由于我们目前的应用基础镜像是nodejs-8-rhel7
,恐怕更改基础镜像会造成一些麻烦(nodejs版本差异等..)
以上哪个是最好的选择?你有更好的解决方案吗?
谢谢!
解决方案
推荐阅读
- linux - Centos6.9 目录中的权限被拒绝
- javascript - 将父级添加到多个
- 标签
- react-native - 请求在 react-native 中不适用于 android 9
- sql - 获取最后一个非空值?
- php - PHP函数和赋值:echo和return之间的混淆
- node.js - 使用 pngjs 从缓冲区读取图像
- java - Android canvas.save() 和 canvas.restore() 使我的应用程序崩溃
- r - 在R中读取xlsx文件
- video - VLC 在视频结束前停止视频
- answer-set-programming - 有没有一种方法可以在 Clingo 中表示任意长度的元组?