How to Integrate Automated API Tests into Azure DevOps CI/CD Pipeline?

Himanshu Mandhyan 0 Pontos de reputação
2026-06-23T08:55:08.88+00:00

Issue: Test results are not being picked up by Azure DevOps reporting. Unsure whether the issue is with output format (JUnit vs other) or agent networking.I am setting up automated API testing inside our Azure DevOps pipeline. The tests are generated automatically by capturing real API traffic and run fine locally, but I want them to execute as part of every build automatically.

What I am trying to achieve:
Run API tests as a pipeline stage after the build step, fail the pipeline if any tests fail, and report results in the Azure DevOps test dashboard.

Environment:

  • Azure DevOps (cloud-hosted)
  • Node.js backend application
  • Pipeline using YAML configuration

Steps already tried:

  • Added a script step in azure-pipelines.yml to trigger the test run
  • Checked Azure DevOps documentation on the PublishTestResults task
  • Tried tools like Keploy for auto-generating test cases from traffic

Issue:
Test results are not being picked up by Azure DevOps reporting. Unsure whether the issue is with output format (JUnit vs other) or agent networking.

Azure DevOps
0 comentários Sem comentários

1 resposta

Classificar por: Mais Novo
  1. Rakesh Mishra 11,340 Pontos de reputação Equipe Externa da Microsoft Moderador
    2026-06-26T16:12:38.7666667+00:00

    Olá Himanshu,

    Obrigado por entrar em contato com a comunidade de perguntas e respostas da Microsoft.

    Para integrar seus testes automatizados de API (como os gerados pelo Keploy) ao seu pipeline Azure DevOps e atender aos seus requisitos (falhar no pipeline em caso de falha e reportar resultados ao painel de Testes), você pode usar a __ tarefa __Publicar Resultados de TestePublishTestResults@2 ().

    Aqui estão os passos recomendados para alcançar isso:

    1. Resultados de Teste de Saída em Formato Suportado: Azure DevOps suporta vários formatos de resultados de teste (por exemplo, JUnit, NUnit, VSTest, xUnit). Certifique-se de que seus testes de backend Node.js estejam configurados para exportar resultados como um arquivo XML JUnit. Por exemplo, se você estiver usando Mocha em seus testes, pode executar:

    npm test -- --reporter mocha-junit-reporter --reporter-options mochaFile=./test-results/results.xml
    

    2. Adicionar a tarefa Publicar Resultados de Teste: Adicione a PublishTestResults@2 tarefa ao azure-pipelines.yml seu script de execução após o teste. Para garantir que o pipeline falhe quando um teste falha, você deve definir a failTaskOnFailedTests propriedade para true.

    De acordo com a Documentação Oficial da Microsoft para PublishTestResults@2:

    "failTaskOnFailedTests - Fail se houver falhas nos testes. Booleano. Valor padrão: falso. Opcional. Quando o valor desse booleano é verdadeiro, a tarefa falhará se qualquer um dos testes no arquivo de resultados for marcado como falhado."

    Veja como sua configuração YAML deve ser:

    stages:
    - stage: Test
      jobs:
      - job: RunApiTests
        pool:
          vmImage: 'ubuntu-latest'
        steps:
        - checkout: self
        - script: |
            npm ci
            # Command to run API tests and output JUnit XML
            npm test -- --reporter mocha-junit-reporter --reporter-options mochaFile=./test-results/results.xml
          displayName: 'Run API tests'
          continueOnError: true # Ensures the publish task runs even if the script fails due to test failures
        - task: PublishTestResults@2
          displayName: 'Publish API Test Results'
          inputs:
            testResultsFormat: 'JUnit'
            testResultsFiles: '**/test-results/*.xml'
            failTaskOnFailedTests: true
            testRunTitle: 'Node.js API Tests'
    

    Nota: É recomendado configurar continueOnError: true a etapa de execução do teste. Se os testes falharem, o comando script gera um código de saída 1, que geralmente para o pipeline instantaneamente. Definir essa flag permite que o pipeline prossiga para a PublishTestResults@2 tarefa para que ele possa realmente enviar os logs de falha para o painel.

    3. Verifique os Resultados: Após a conclusão do pipeline, navegue até a aba Testes na página de resumo do Pipeline no Azure DevOps. Você verá um painel detalhado com as taxas de aprovação/reprovação em testes da API.

    Nota: Esta resposta foi elaborada com a ajuda de sistemas de IA.

    Esta resposta foi útil?

    1 pessoa achou esta resposta útil.

Sua resposta

As respostas podem ser marcadas como ‘Aceitas’ pelo autor da pergunta e ‘Recomendadas’ pelos moderadores, o que ajuda os usuários a saber a resposta que resolveu o problema do autor.