Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Exemplo "Relatório de teste usando a AWS CLI"

Modo de foco

Nesta página

Exemplo "Relatório de teste usando a AWS CLI" - AWS CodeBuild

Os testes que você especificar no arquivo buildspec são executados durante a compilação. Este exemplo mostra como usar a AWS CLI para incorporar testes em compilações no CodeBuild. Você pode usar JUnit para criar testes de unidade ou usar outra ferramenta para criar testes de configuração. Depois, você pode avaliar os resultados do teste para corrigir problemas ou otimizar seu aplicativo.

É possível usar a API do CodeBuild ou o console do AWS CodeBuild para acessar os resultados do teste. Este exemplo mostra como configurar seu relatório para que seus resultados de teste sejam exportados para um bucket do S3.

Executar o exemplo de relatório de teste

Use as etapas a seguir para executar o exemplo de relatório de teste.

Pré-requisitos

  • Criar seus casos de teste. Este exemplo é escrito partindo-se do pressuposto de que você tem casos de teste para incluir em seu relatório de teste de amostra. Especifique o local dos arquivos de teste no arquivo buildspec.

    Os seguintes formatos de arquivo de relatório de teste são compatíveis:

    • Cucumber JSON (.json)

    • JUnit XML (.xml)

    • NUnit XML (.xml)

    • NUnit3 XML (.xml)

    • TestNG XML (.xml)

    • Visual Studio TRX (.trx)

    • Visual Studio TRX XML (.xml)

    Crie seus casos de teste com qualquer framework de trabalho de teste que possa criar arquivos de relatório em um desses formatos (por exemplo, Surefire JUnit plugin, TestNG ou Cucumber).

  • Crie um bucket do S3 e anote seu nome. Para obter mais informações, consulte How do I create an S3 bucket? no Guia do usuário do Amazon S3.

  • Crie um perfil do IAM e anote o ARN. É necessário o ARN ao criar seu projeto de compilação.

  • Se sua função não tiver as seguintes permissões, adicione-as.

    { "Effect": "Allow", "Resource": [ "*" ], "Action": [ "codebuild:CreateReportGroup", "codebuild:CreateReport", "codebuild:UpdateReport", "codebuild:BatchPutTestCases" ] }

    Para obter mais informações, consulte Permissões para operações de relatórios de testes.

Etapa 1: criar um grupo de relatórios

  1. Crie um arquivo chamado CreateReportGroupInput.json.

  2. Crie uma pasta no bucket do S3 onde os resultados do teste são exportados.

  3. Copie o seguinte em CreateReportGroupInput.json. Em <bucket-name>, use o nome do bucket do S3. Em <path-to-folder>, insira o caminho para a pasta no bucket do S3.

    { "name": "<report-name>", "type": "TEST", "exportConfig": { "exportConfigType": "S3", "s3Destination": { "bucket": "<bucket-name>", "path": "<path-to-folder>", "packaging": "NONE" } } }
  4. Execute o comando a seguir no diretório que contenha CreateReportGroupInput.json.

    aws codebuild create-report-group --cli-input-json file://CreateReportGroupInput.json

    A saída é semelhante à seguinte. Anote o ARN do reportGroup. Use-o ao criar um projeto que use esse grupo de relatórios.

    { "reportGroup": { "arn": "arn:aws:codebuild:us-west-2:123456789012:report-group/<report-name>", "name": "<report-name>", "type": "TEST", "exportConfig": { "exportConfigType": "S3", "s3Destination": { "bucket": "<s3-bucket-name>", "path": "<folder-path>", "packaging": "NONE", "encryptionKey": "arn:aws:kms:us-west-2:123456789012:alias/aws/s3" } }, "created": 1570837165.885, "lastModified": 1570837165.885 } }

Etapa 2: configurar um projeto com um grupo de relatórios

Para executar um relatório, crie primeiro um projeto de compilação do CodeBuild configurado com o grupo de relatórios. Os casos de teste especificados para o grupo de relatórios são executados quando você executa uma compilação.

  1. Crie um arquivo buildspec chamado buildspec.yml.

  2. Use o seguinte YAML como modelo para o seu arquivo buildspec.yml. Inclua os comandos que executam seus testes. Na seção reports, especifique os arquivos que contêm os resultados dos seus casos de teste. Esses arquivos armazenam os resultados do teste que você pode acessar com o CodeBuild. Eles expiram 30 dias após sua criação. Esses arquivos são diferentes dos arquivos de resultado de caso de teste bruto exportados para um bucket do S3.

    version: 0.2 phases: install: runtime-versions: java: openjdk8 build: commands: - echo Running tests - <enter commands to run your tests> reports: <report-name-or-arn>: #test file information files: - '<test-result-files>' base-directory: '<optional-base-directory>' discard-paths: false #do not remove file paths from test result files
    nota

    Em vez do ARN de um grupo de relatórios existente, você também pode especificar um nome para um grupo de relatórios que não foi criado. Se você especificar um nome em vez de um ARN, o CodeBuild criará um grupo de relatórios quando ele executar uma compilação. O nome dele contém o nome do projeto e o nome que você especificar no arquivo buildspec, neste formato: project-name-report-group-name. Para obter mais informações, consulte Criar relatórios de teste e Nomenclatura do grupo de relatórios.

  3. Crie um arquivo chamado project.json. Este arquivo contém entrada para o comando create-project.

  4. Copie o seguinte JSON em project.json. Em source, insira o tipo e o local do repositório que contém os arquivos de origem. Em serviceRole, especifique o ARN da função que você está usando.

    { "name": "test-report-project", "description": "sample-test-report-project", "source": { "type": "CODECOMMIT|CODEPIPELINE|GITHUB|S3|BITBUCKET|GITHUB_ENTERPRISE|NO_SOURCE", "location": "<your-source-url>" }, "artifacts": { "type": "NO_ARTIFACTS" }, "cache": { "type": "NO_CACHE" }, "environment": { "type": "LINUX_CONTAINER", "image": "aws/codebuild/standard:5.0", "computeType": "small" }, "serviceRole": "arn:aws:iam::<your-aws-account-id>:role/service-role/<your-role-name>" }
  5. Execute o comando a seguir no diretório que contenha project.json. Isso cria um projeto chamado test-project.

    aws codebuild create-project --cli-input-json file://project.json

Etapa 3: executar e visualizar resultados de um relatório

Nesta seção, você executa uma compilação do projeto criado anteriormente. Durante o processo de compilação, o CodeBuild cria um relatório com os resultados dos casos de teste. O relatório está contido no grupo de relatórios especificado.

  1. Para iniciar uma compilação, execute o comando a seguir. test-report-project é o nome do projeto de compilação criado acima. Anote o ID de compilação que aparece na saída.

    aws codebuild start-build --project-name test-report-project
  2. Execute o comando a seguir para obter informações sobre sua compilação, incluindo o ARN do seu relatório. Em <build-id>, especifique seu ID de compilação. Anote o ARN do relatório na propriedade reportArns da saída.

    aws codebuild batch-get-builds --ids <build-id>
  3. Execute o comando a seguir para obter detalhes sobre o relatório. Em <report-arn>, especifique o ARN do relatório.

    aws codebuild batch-get-reports --report-arns <report-arn>

    A saída é semelhante à seguinte. Essa saída de exemplo mostra quantos testes foram bem-sucedidos, falharam, foram ignorados, resultaram em erro ou retornaram um status desconhecido.

    { "reports": [ { "status": "FAILED", "reportGroupArn": "<report-group-arn>", "name": "<report-group-name>", "created": 1573324770.154, "exportConfig": { "exportConfigType": "S3", "s3Destination": { "bucket": "<amzn-s3-demo-bucket>", "path": "<path-to-your-report-results>", "packaging": "NONE", "encryptionKey": "<encryption-key>" } }, "expired": 1575916770.0, "truncated": false, "executionId": "arn:aws:codebuild:us-west-2:123456789012:build/<name-of-build-project>:2c254862-ddf6-4831-a53f-6839a73829c1", "type": "TEST", "arn": "<report-arn>", "testSummary": { "durationInNanoSeconds": 6657770, "total": 11, "statusCounts": { "FAILED": 3, "SKIPPED": 7, "ERROR": 0, "SUCCEEDED": 1, "UNKNOWN": 0 } } } ], "reportsNotFound": [] }
  4. Execute o seguinte comando para listar informações sobre casos de teste para seu relatório. Em <report-arn>, especifique o ARN do seu relatório. No parâmetro opcional --filter, você pode especificar um resultado de status (SUCCEEDED, FAILED, SKIPPED, ERROR, ou UNKNOWN).

    aws codebuild describe-test-cases \ --report-arn <report-arn> \ --filter status=SUCCEEDED|FAILED|SKIPPED|ERROR|UNKNOWN

    A saída é semelhante à seguinte.

    { "testCases": [ { "status": "FAILED", "name": "Test case 1", "expired": 1575916770.0, "reportArn": "<report-arn>", "prefix": "Cucumber tests for agent", "message": "A test message", "durationInNanoSeconds": 1540540, "testRawDataPath": "<path-to-output-report-files>" }, { "status": "SUCCEEDED", "name": "Test case 2", "expired": 1575916770.0, "reportArn": "<report-arn>", "prefix": "Cucumber tests for agent", "message": "A test message", "durationInNanoSeconds": 1540540, "testRawDataPath": "<path-to-output-report-files>" } ] }
PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.