我正在寻找一种在Circleci上方便地仅运行一组特定的赛普拉斯规格文件的方法。 我可以通过在Cypress.json文件中指定规范文件来在本地执行此操作,但我不想在本地运行这些文件,因为它会阻止我在运行测试时使用计算机。 我可以通过在config.yml中列出来指定要在circleci上运行的文件。 但是,这种方法的问题在于,每当我要运行一组不同的规范文件时,都必须将PR推送到github(无意将此更改合并到存储库中)。
我在Circle的论坛上找到了此讨论,该讨论具有潜在的解决方案: https://discuss.circleci.com/t/efficiently-testing-configuration-file-migrating-to-2-0/11620
我尝试实现它,但是在circleci上构建失败,因为它一直错误地读取我的config.yml文件。
例如,
version: 2.1
orbs:
cypress: cypress-io/cypress@1
executors:
latest-chrome:
docker:
- image: "cypress/browsers:node14.7.0-chrome84"
workflows:
build:
jobs:
- cypress/run:
executor: latest-chrome
browser: chrome
spec:
"cypress/integration/test_lab.js,\
cypress/integration/example/example.js"
在circleci上转换为此:
version: 2.1
orbs: {cypress: cypress-io/cypress@1}
executors:
latest-chrome:
docker:
- {image: 'cypress/browsers:node14.7.0-chrome84'}
workflows:
version: 2
build:
jobs:
- build: {}
请注意,当我将config.yml推送到github时,它可以正确构建-而不是当我使用上面提供的链接中提到的方法时。