Um conjunto de tecnologias no .NET para construir aplicativos e serviços web. Tópicos diversos que não se encaixam em categorias específicas.
Olá
Bem-vindo à Comunidade Microsoft Azure DevOps.
Boa tarde, @Marcus Keenton . Obrigado por entrar em contato conosco. Para esse cenário, eu recomendo manter um único Stage com dois Jobs, em vez de criar um Stage para cada conjunto de testes.
Job 1: inicia a mesma build da API, executa os cenários Reqnroll/xUnit e publica os resultados .trx.
Job 2: inicia novamente a mesma build da API, executa os testes de regressão do Keploy e publica os resultados no formato suportado pelo Azure Pipelines.
Use condition: always() para garantir que a API seja encerrada mesmo quando houver falha nos testes.
Cada Job pode usar sua própria porta, evitando conflitos.
Não é necessário manter a mesma instância da API entre os Jobs. O importante é que ambos utilizem a mesma build/commit.
O PublishTestResults@2 aceita formatos como TRX, JUnit, NUnit e xUnit e publica esses resultados na aba Tests do pipeline.
O ponto que eu verificaria no seu caso é o formato gerado pelo Keploy. Se ele não estiver produzindo um dos formatos aceitos, os testes podem ser executados corretamente e ainda assim não aparecerem na aba Tests. Nesse caso, será necessário converter ou adaptar a saída antes de executar PublishTestResults@2.
Exemplo da sugestão: 1 Stage → 2 Jobs → mesma build → API iniciada separadamente → resultados publicados individualmente.
Essa estrutura mantém os testes BDD e de regressão independentes, evita conflitos de processo/porta e permite identificar exatamente qual conjunto de testes apresentou falha.
Quando possível, informe também o resultado do procedimento. Seu retorno pode ajudar outros usuários que estejam enfrentando uma situação semelhante.
Nota.: Este texto foi adaptado e ccorrigido pelo Copilot de acordo com as regras do Código de Conduta e uso de IA nos fóruns Microsoft.