在 azure devOps 中为具有 2 个存储库的 CI 项目设置 cypress 测试(一个用于主应用程序,一个用于 cypress 测试)?

问题描述 投票:0回答:1

我们有一个天蓝色的 DevOps CI 项目,其中有单独的存储库,用于我们的 Web 应用程序和 cypress 测试的开发代码。

我需要创建一个测试管道,只要 Web 应用程序存储库的主分支发生更改,该管道就会运行。由于测试位于不同的存储库中,我如何实现这一目标?

我很难做到这一点,因为我是 Azure 中的 CI 管道和 Cypress 的新手。

运行完成后,我还想在天蓝色中显示一个小部件或通过/失败的测试用例的一些视觉表示。有人可以帮助我设置 cypress 并显示结果吗?预先感谢。

azure-devops continuous-integration cypress e2e-testing
1个回答
0
投票

我需要创建一个测试管道,只要 Web 应用程序存储库的主分支发生更改,该管道就会运行

您可以根据您的测试存储库创建管道,并将您的“Web 应用程序”存储库添加为存储库资源。添加分支过滤器来控制管道仅在主分支提交时才会触发。

trigger: none

resources:
  repositories:
    - repository: webapprepo
      type: git
      name: <your-project-name>/webapprepo
      trigger:
        branches:
          include:
          - main

运行完成后,我还想在天蓝色中显示一个小部件或通过/失败的测试用例的一些可视化表示。

添加

PublishTestResults@2
任务以将测试结果发布到构建摘要页面。

例如,

      - script: |
          npm install -g wait-on
          npm run start:e2e & wait-on $(hosturl) & npm run cy:run-junit-reporter:e2e && npm run cy:run-junit-reporter:component
        continueOnError: False
        displayName: 'Run tests'

      - task: PublishTestResults@2
        displayName: "Publish test results"
        inputs:
          testResultsFormat: "JUnit"
          testResultsFiles: "$(Pipeline.Workspace)/s/cypress/results/result-*.xml"
          testRunTitle: "$(Build.BuildNumber)"
          searchFolder: "$(System.DefaultWorkingDirectory)"
          mergeTestResults: true

然后从构建摘要页面查看测试结果:

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.