【问题标题】:Is it possible to run Cypress tests from a different repository?是否可以从不同的存储库运行 Cypress 测试?
【发布时间】:2023-01-30 18:04:51
【问题描述】:

我在专门的回购协议中进行了赛普拉斯测试。前端代码在不同的仓库中。当开发人员打开合并请求时,我希望他们可以选择触发一部分测试。这可能吗?因为我找不到这方面的任何例子。

【问题讨论】:

    标签: cypress github-actions


    【解决方案1】:

    有多种解决方案:

    从前端存储库管道中检出 e2e 测试存储库

    你可以只使用

      - name: Check out my e2e tests
        uses: actions/checkout@v3
        with:
          repository: orgname/reponame
          path: ./my-e2e-tests
    

    这会将 e2e 测试存储库克隆到新的 my-e2e-tests 目录,然后您可以签出当前(前端)代码并执行其余步骤。

    见:https://github.com/actions/checkout#checkout-multiple-repos-side-by-side

    使用可重复使用的工作流程

    您可以创建一个 reusable workflow 并为您的 e2e 测试执行必要的设置,然后从您的前端存储库调用新的可重用工作流作为作业,例如:

    jobs:
      run-e2e-tests:
        uses: my-org/example-repo/.github/workflows/reusable-e2e-workflow.yml@main
        with:
          base-url: http://baseurl.org
        secrets:
          token: ${{ secrets.envPAT }}
    

    如您所知,此作业将与您的其他作业并行运行,因此您可能希望使用 needs 参数让您的部署作业等待此 e2e 测试作业。

    使用复合动作

    您可以创建一个 composite action 来为您的 e2e 测试做一组准备工作,其中之一是使用 actions/checkout 操作从他们的存储库中提取 e2e 测试。这将提取准备端到端测试所需的所有步骤,因为您只会在 PR 管道中调用共享操作。


    其他可能有帮助的链接:

    【讨论】:

      猜你喜欢
      • 2022-11-11
      • 1970-01-01
      • 1970-01-01
      • 2012-08-31
      • 2017-02-10
      • 1970-01-01
      • 2020-06-24
      • 2022-01-14
      • 1970-01-01
      相关资源
      最近更新 更多