【问题标题】:Should I put my 2e2 tests before or after my WebAppDeployment in my pipeline?我应该在管道中的 WebApp 部署之前还是之后进行 2e2 测试?
【发布时间】:2021-02-28 00:54:44
【问题描述】:

希望有人能帮助我

我正在 dotnet 中开发 api,我正在 yaml 中使用 azure devops 和管道。

我已经完成了 api 的 2e2 测试,我基本上对正在开发的 api 进行实际调用,以测试应用程序中的真实用户流。

我的问题应该如下:

1- 在部署到我的 webapp 之前执行 2e2test 任务,让我知道在将其部署到资源之前存在问题,但存在我不会使用当前提交的更改进行测试的问题(因为我将使用前一个进行测试,因为我还没有部署资源)

2-在部署到我的 web 应用程序后执行任务 2e2test,允许我使用我在资源中反映的提交中所做的更改来执行测试,并以这种方式知道我所做的是否有问题,但是有一个问题,在部署资源时,如果出现问题,它已经污染了我的 webapp。

我正在处理的 yaml 是:

# ASP.NET
# Build and test ASP.NET projects.
# Add steps that publish symbols, save build artifacts, deploy, and more:
# https://docs.microsoft.com/azure/devops/pipelines/apps/aspnet/build-aspnet-4

trigger:
- development

pool:
  vmImage: 'windows-latest'
  
steps:
- task: DotNetCoreCLI@2
  displayName: 'dotnet publish'
  inputs:
    command: publish
    publishWebProjects: false
    projects: '**/ChatbotService/*.csproj'
    zipAfterPublish: true
    modifyOutputPath: true


- task: DotNetCoreCLI@2
  displayName: 'dotnet MockUnitTest'
  inputs:
    command: test
    projects: '**/*Tests/MockUnitTest/*.csproj'
    arguments: '--configuration $(buildConfiguration) --collect "Code coverage"'

- task: DotNetCoreCLI@2
  displayName: 'dotnet E2ETest'
  inputs:
    command: test
    projects: '**/*Tests/E2ETest/*.csproj'
    arguments: '--configuration $(buildConfiguration) --collect "Code coverage"'

- task: AzureRmWebAppDeployment@4
  inputs:
    ConnectionType: 'AzureRM'
    azureSubscription: 'bla blab bla'
    appType: 'webApp'
    WebAppName: 'webapp-chatbotservice-dev'
    packageForLinux: '$(System.DefaultWorkingDirectory)/ChatbotService/**/*.zip'
    AppSettings: '-ASPNETCORE_ENVIRONMENT Development'

【问题讨论】:

    标签: .net-core azure-devops yaml e2e-testing


    【解决方案1】:

    您应该先部署,然后再运行您的 e-2-e 测试,而不是在生产环境中。在生产环境中,您应该运行smoke tests,这是一种 e-2-e 测试,可以在不更改应用程序状态的情况下测试应用程序的关键部分。 (当然在部署后运行它们是有意义的)

    所以它可能是这样的高级:

    - build stage
    - deploy to test env stage
      - run e-2-e test
    - deploy to prod env stage
      - run smoke test
    
    

    如果您在未更新的环境上运行测试总是存在风险,因为您的测试可能会验证尚未部署的部分应用程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-31
      • 1970-01-01
      • 2013-08-09
      • 1970-01-01
      • 2020-07-30
      • 1970-01-01
      相关资源
      最近更新 更多