

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Relatórios de teste em AWS CodeBuild
<a name="test-reporting"></a>

Você pode criar relatórios CodeBuild que contenham detalhes sobre os testes que são executados durante as compilações. Você pode criar testes como testes de unidade, testes de configuração e testes funcionais. 

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)

**nota**  
 A versão compatível mais recente do `cucumber-js` é 7.3.2. 

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

Para criar um relatório de teste, adicione um nome de grupo de relatórios ao arquivo buildspec de um projeto de compilação com informações sobre seus casos de teste. Quando você executa o projeto de compilação, os casos de teste são executados e um relatório de teste é criado. Um relatório de teste é criado no grupo de relatórios cada vez que os casos de teste são executados. Não é necessário criar um grupo de relatórios antes de executar os testes. Se você especificar um nome de grupo de relatórios, CodeBuild cria um grupo de relatórios para você ao executar seus relatórios. Se você quiser usar um grupo de relatórios que já existe, especifique seu ARN no arquivo buildspec.

Você pode usar um relatório de teste para ajudar a solucionar um problema durante uma execução de compilação. Se tiver muitos relatórios de teste de várias compilações de um projeto de compilação, você poderá usar seus relatórios de teste para visualizar tendências e taxas de teste e falha para ajudá-lo a otimizar compilações. 

Um relatório expira 30 dias após a criação. Não é possível visualizar um relatório de teste expirado. Se quiser manter relatórios de teste por mais de trinta dias, você poderá exportar os arquivos de dados brutos dos resultados do teste para um bucket do Amazon S3. Os arquivos de teste exportados não expiram. As informações sobre o bucket do S3 são especificadas ao criar o grupo de relatórios.

**nota**  
A função CodeBuild de serviço especificada no projeto é usada para obter permissões de upload para o bucket do S3.

**Topics**
+ [

# Criar relatórios de teste
](report-create.md)
+ [

# Criar relatórios de cobertura de código
](code-coverage-report.md)
+ [

# Relatórios de descoberta automática no CodeBuild
](report-auto-discover.md)
+ [

# Grupos de relatórios
](test-report-group.md)
+ [

# Framework de teste
](test-framework-reporting.md)
+ [

# Visualizar relatórios de teste
](test-view-reports.md)
+ [

# Permissões de relatório de teste
](test-permissions.md)
+ [

# Status do relatório de teste
](test-report.md)

# Criar relatórios de teste
<a name="report-create"></a>

 Para criar um relatório de teste, execute um projeto de compilação configurado com um a cinco grupos de relatórios em seu arquivo buildspec. Um relatório de teste é criado durante a execução. Ele contém os resultados dos casos de teste especificados para os grupos de relatórios. Um novo relatório de teste é gerado para cada compilação subsequente que usa o mesmo arquivo buildspec. 

**Para criar um relatório de teste**

1. Crie um projeto de compilação. Para mais informações, consulte [Criar um projeto de compilação no AWS CodeBuild](create-project.md). 

1. Configure o arquivo buildspec do seu projeto com informações do relatório de teste: 

   1. Adicione uma seção `reports:` e especifique o ARN de um grupo de relatórios existente ou o nome de um grupo de relatórios. 

      Se você especificar um ARN, CodeBuild usa esse grupo de relatórios.

      Se você especificar um nome, CodeBuild cria um grupo de relatórios para você usando o nome do seu projeto e o nome que você especificou, no formato *<project-name>* -*<report-group-name>*. Se o grupo de relatórios nomeado já existir, CodeBuild use esse grupo de relatórios.

   1. No grupo de relatórios, especifique o local dos arquivos que contêm os resultados do teste. Se você usar mais de um grupo de relatórios, especifique os locais do arquivo de resultados do teste para cada um. Um relatório de teste é criado sempre que o projeto de compilação é executado. Para obter mais informações, consulte [Especificar arquivos de teste](report-group-test-cases.md). 

   1. Na seção `commands` da sequência `post_build` ou `build`, especifique os comandos que executam os casos de teste especificados para os grupos de relatórios. Para obter mais informações, consulte [Especificar comandos de teste](report-group-test-case-commands.md). 

   Veja um exemplo de seção `reports` do buildspec:

   ```
   reports:
     php-reports:
       files:
         - "reports/php/*.xml"
       file-format: "JUNITXML"
     nunit-reports:
       files:
         - "reports/nunit/*.xml"
       file-format: "NUNITXML"
   ```

1. Execute uma compilação do projeto de compilação. Para obter mais informações, consulte [Execute AWS CodeBuild compilações manualmente](run-build.md). 

1. Quando a compilação estiver concluída, escolha a nova execução de compilação em **Histórico de compilação** na página do projeto. Escolha **Reports (Relatórios)** para visualizar o relatório de teste. Para obter mais informações, consulte [Visualizar relatórios de teste para uma compilação](test-view-project-reports.md).

# Criar relatórios de cobertura de código
<a name="code-coverage-report"></a>

CodeBuild permite gerar relatórios de cobertura de código para seus testes. Os seguintes relatórios de cobertura de código são fornecidos:

Cobertura de linha  
A cobertura de linha mede quantas declarações os testes abrangem. Declaração é uma instrução única, que não inclui comentários nem condicionais.  
`line coverage = (total lines covered)/(total number of lines)`

Cobertura de ramificação  
A cobertura de ramificação mede quantas ramificações os testes abrangem de todas as ramificações possíveis de uma estrutura de controle, como uma declaração `if` ou `case`.  
`branch coverage = (total branches covered)/(total number of branches)`

Os seguintes formatos de arquivo de relatório de cobertura de código são compatíveis:
+ JaCoCo XML
+ SimpleCov JSON¹
+ Clover XML
+ Cobertura XML
+ INFORMAÇÕES SOBRE O LCOV

[¹ CodeBuild aceita relatórios de cobertura de código JSON gerados pelo [simplecov, não pelo simplecov-json](https://github.com/simplecov-ruby/simplecov).](https://github.com/vicentllongo/simplecov-json)

## Criar um relatório de cobertura de código
<a name="code-coverage-report-create"></a>

Para criar um relatório de cobertura de código, você executa um projeto de compilação configurado com pelo menos um grupo de relatórios de cobertura de código em seu arquivo buildspec. CodeBuild interpretará os resultados da cobertura do código e fornecerá um relatório da cobertura do código para a execução. Um novo relatório de teste é gerado para cada compilação subsequente que usa o mesmo arquivo buildspec. 

**Para criar um relatório de teste**

1. Crie um projeto de compilação. Para mais informações, consulte [Criar um projeto de compilação no AWS CodeBuild](create-project.md).

1. Configure o arquivo buildspec do projeto com informações do relatório de teste:

   1. Adicione uma `reports:` seção e especifique o nome do seu grupo de relatórios. CodeBuild cria um grupo de relatórios para você usando o nome do seu projeto e o nome que você especificou no formato `project-name` -`report-group-name-in-buildspec`. Se você já tiver um grupo de relatórios que deseja usar, especifique seu ARN. Se você usar o nome em vez do ARN, CodeBuild cria um novo grupo de relatórios. Para obter mais informações, consulte [Reports syntax in the buildspec file](build-spec-ref.md#reports-buildspec-file). 

   1. No grupo de relatórios, especifique o local dos arquivos que contêm os resultados da cobertura de código. Se você usar mais de um grupo de relatórios, especifique os locais do arquivo de resultados para cada grupo de relatórios. Um novo relatório de cobertura de código é criado sempre que o projeto de compilação é executado. Para obter mais informações, consulte [Especificar arquivos de teste](report-group-test-cases.md).

      Este é um exemplo que gera um relatório de cobertura de código para um arquivo de resultados JaCoCo XML localizado em test-`results/jacoco-coverage-report.xml`.

      ```
      reports:
        jacoco-report:
          files:
            - 'test-results/jacoco-coverage-report.xml'
          file-format: 'JACOCOXML'
      ```

   1. Na seção `commands` da sequência `build` ou `post_build`, especifique os comandos que executam a análise de cobertura de código. Para obter mais informações, consulte [Especificar comandos de teste](report-group-test-case-commands.md). 

1. Execute uma compilação do projeto de compilação. Para obter mais informações, consulte [Execute AWS CodeBuild compilações manualmente](run-build.md).

1. Quando a compilação estiver concluída, escolha a nova execução de compilação em **Histórico de compilação** na página do projeto. Escolha **Relatórios** para ver o relatório de cobertura de código. Para obter mais informações, consulte [Visualizar relatórios de teste para uma compilação](test-view-project-reports.md).

# Relatórios de descoberta automática no CodeBuild
<a name="report-auto-discover"></a>

Com a descoberta automática, o CodeBuild pesquisa todos os arquivos de compilação após a conclusão da fase de compilação, pesquisa qualquer tipo de arquivo de relatório compatível e cria automaticamente grupos de relatórios e relatórios de teste e cobertura de código. Para qualquer tipo de relatório descoberto, o CodeBuild cria grupos de relatórios com o seguinte padrão:

```
<project-name>-<report-file-format>-AutoDiscovered
```

**nota**  
Se os arquivos de relatório descobertos tiverem o mesmo tipo de formato, eles serão colocados no mesmo grupo de relatórios ou relatório.

A descoberta automática de relatórios é configurada pelas variáveis de ambiente do projeto:

`CODEBUILD_CONFIG_AUTO_DISCOVER`  
Essa variável determina se a descoberta automática do relatório está desativada durante a compilação. Por padrão, a descoberta automática de relatórios está ativada para todas as compilações. Para desabilitar esse recurso, defina `CODEBUILD_CONFIG_AUTO_DISCOVER` como `false`.

`CODEBUILD_CONFIG_AUTO_DISCOVER_DIR`  
(Opcional) Essa variável determina onde o CodeBuild pesquisa possíveis arquivos de relatório. Observe que, por padrão, o CodeBuild pesquisa `**/*` por padrão.

Essas variáveis de ambiente podem ser modificadas durante a fase de compilação. Por exemplo, se você quiser ativar apenas a descoberta automática de relatórios para compilações na ramificação git `main`, você pode selecionar a ramificação git durante o processo de compilação e definir `CODEBUILD_CONFIG_AUTO_DISCOVER` como falso se a compilação não estiver na ramificação `main`. A descoberta automática de relatórios pode ser desativada usando o console ou usando variáveis de ambiente do projeto.

**Topics**
+ [

## Configurar a descoberta automática de relatórios usando o console
](#report-auto-discover-configure-console)
+ [

## Configure a descoberta automática de relatórios usando variáveis de ambiente do projeto
](#report-auto-discover-configure-variable)

## Configurar a descoberta automática de relatórios usando o console
<a name="report-auto-discover-configure-console"></a>

Use o procedimento a seguir para configurar a descoberta automática de relatórios usando o console.

**Para configurar a descoberta automática de relatórios usando o console**

1. Crie um projeto de compilação ou escolha um projeto de compilação para editar. Para obter informações, consulte [Criar um projeto de compilação no AWS CodeBuild](create-project.md) ou [Alterar as configurações do projeto de construção em AWS CodeBuild](change-project.md).

1. Em **Ambiente**, selecione **Configuração adicional**.

1. Para desativar a descoberta automática de relatórios, em **Descoberta automática de relatórios**, selecione **Desativar a descoberta automática de relatórios**.

1. (Opcional) Em **Diretório de descoberta automática - opcional**, insira um padrão de diretório para o CodeBuild pesquisar arquivos de formato de relatório compatíveis. Observe que o CodeBuild pesquisa `**/*` por padrão.

## Configure a descoberta automática de relatórios usando variáveis de ambiente do projeto
<a name="report-auto-discover-configure-variable"></a>

Use o procedimento a seguir para configurar a descoberta automática de relatórios usando as variáveis do ambiente do projeto.

**Para configurar a descoberta automática de relatórios usando variáveis de ambiente do projeto**

1. Crie um projeto de compilação ou escolha um projeto de compilação para editar. Para obter informações, consulte [Criar um projeto de compilação no AWS CodeBuild](create-project.md) ou [Alterar as configurações do projeto de construção em AWS CodeBuild](change-project.md).

1. Em **Variáveis de ambiente**, faça o seguinte:

   1. Para desativar a descoberta automática de relatórios, em **Nome**, insira **CODEBUILD\$1CONFIG\$1AUTO\$1DISCOVER** e, em **Valor**, insira **false**. Isso desativa a descoberta automática de relatórios.

   1. (Opcional) Em **Nome**, insira **CODEBUILD\$1CONFIG\$1AUTO\$1DISCOVER\$1DIR** e, em **Valor**, insira o diretório em que o CodeBuild deve pesquisar os arquivos de formato de relatório compatíveis. Por exemplo, `output/*xml` pesquisa arquivos `.xml` no diretório `output`

# Grupos de relatórios
<a name="test-report-group"></a>

Um *grupo de relatórios* contém relatórios de teste e especifica configurações compartilhadas. Use o arquivo buildspec para especificar os casos de teste a serem executados e os comandos para executá-los quando ele for compilado. Para cada grupo de relatórios configurado em um projeto de compilação, uma execução do projeto de compilação criará um relatório de teste. Várias execuções de um projeto de compilação configurado com um grupo de relatórios criam vários relatórios de teste nesse grupo de relatórios, cada um com resultados dos mesmos casos de teste especificados para esse grupo de relatórios. 

 Os casos de teste são especificados para um grupo de relatórios no arquivo buildspec de um projeto de compilação. É possível especificar até cinco grupos de relatórios em um projeto de compilação. Ao executar uma compilação, todos os casos de teste são executados. Um relatório de teste é criado com os resultados de cada caso de teste especificado para um grupo de relatórios. Cada vez que você executa uma nova compilação, os casos de teste são executados e um relatório de teste é criado com os novos resultados do teste. 

 Os grupos de relatórios podem ser usados em mais de um projeto de compilação. Todos os relatórios de teste criados com um grupo de relatórios compartilham a mesma configuração, como sua opção de exportação e permissões, mesmo que os relatórios de teste sejam criados usando projetos de compilação diferentes. Os relatórios de teste criados com um grupo de relatórios em vários projetos de compilação podem conter os resultados da execução de diferentes conjuntos de casos de teste (um conjunto de casos de teste para cada projeto de compilação). Isso ocorre porque você pode especificar diferentes arquivos de caso de teste para o grupo de relatórios no arquivo buildspec de cada projeto. Você também pode alterar os arquivos de caso de teste para um grupo de relatórios em um projeto de compilação editando seu arquivo buildspec. Execuções de compilação subsequentes criam relatórios de teste que contêm os resultados dos arquivos de caso de teste no buildspec atualizado. 

**Topics**
+ [

# Criar um grupo de relatórios
](report-group-create.md)
+ [

# Nomenclatura do grupo de relatórios
](test-report-group-naming.md)
+ [

# Compartilhar grupos de relatórios
](report-groups-sharing.md)
+ [

# Especificar arquivos de teste
](report-group-test-cases.md)
+ [

# Especificar comandos de teste
](report-group-test-case-commands.md)
+ [

# Marcar um grupo de relatórios em AWS CodeBuild
](how-to-tag-report-group.md)
+ [

# Atualizar um grupo de relatórios
](report-group-export-settings.md)

# Criar um grupo de relatórios
<a name="report-group-create"></a>

 Você pode usar o CodeBuild console AWS CLI, o ou um arquivo buildspec para criar um grupo de relatórios. Sua função do IAM deve ter as permissões necessárias para criar um grupo de relatórios. Para obter mais informações, consulte [Permissões de relatório de teste](test-permissions.md). 

**Topics**
+ [

## Criar um grupo de relatórios (buildspec)
](#test-report-group-create-buildspec)
+ [

## Criar um grupo de relatórios (console)
](#test-report-group-create-console)
+ [

## Criar um grupo de relatórios (CLI)
](#test-report-group-create-cli)
+ [

## Criar um grupo de relatórios (CloudFormation)
](#test-report-group-create-cfn)

## Criar um grupo de relatórios (buildspec)
<a name="test-report-group-create-buildspec"></a>

Um grupo de relatórios criado com o uso do buildspec não exporta arquivos de resultado de teste bruto. Você pode visualizar seu grupo de relatórios e especificar as configurações de exportação. Para obter mais informações, consulte [Atualizar um grupo de relatórios](report-group-export-settings.md). 

**Como criar um grupo de relatórios usando um arquivo buildspec**

1.  Escolha um nome de grupo de relatórios que não esteja associado a um grupo de relatórios na sua AWS conta. 

1.  Configure a seção `reports` do arquivo buildspec com esse nome. Neste exemplo, o nome do grupo de relatórios é `new-report-group` e os casos de teste de uso são criados com a JUnit estrutura: 

   ```
   reports:
    new-report-group: #surefire junit reports
      files:
        - '**/*'
      base-directory: 'surefire/target/surefire-reports'
   ```

   O nome do grupo de relatórios também pode ser especificado usando variáveis de ambiente no buildspec:

   ```
   version: 0.2
   env:
     variables:
       REPORT_GROUP_NAME: "new-report-group"
   phases:
     build:
       commands:
         - ...
   ...
   reports:
    $REPORT_GROUP_NAME:
      files:
        - '**/*'
      base-directory: 'surefire/target/surefire-reports'
   ```

    Para obter mais informações, consulte [Especificar arquivos de teste](report-group-test-cases.md) e [Reports syntax in the buildspec file](build-spec-ref.md#reports-buildspec-file). 

1. Na seção `commands`, especifique o comando para executar seus testes. Para obter mais informações, consulte [Especificar comandos de teste](report-group-test-case-commands.md). 

1.  Execute o build. Quando a compilação estiver concluída, um grupo de relatórios será criado com um nome que usa o formato `project-name-report-group-name`. Para obter mais informações, consulte [Nomenclatura do grupo de relatórios](test-report-group-naming.md). 



## Criar um grupo de relatórios (console)
<a name="test-report-group-create-console"></a>

O procedimento a seguir cria um grupo de relatórios usando a Console de gerenciamento da AWS.

**Para criar um grupo de relatórios**

1. Abra o AWS CodeBuild console em [https://console.aws.amazon.com/codesuite/codebuild/home](https://console.aws.amazon.com/codesuite/codebuild/home).

1. No painel de navegação, escolha **Grupos de relatórios**. 

1. Escolha **Criar grupo de relatórios**. 

1. Em **Report name group (Nome do grupo de relatórios)**, insira um nome para o grupo de relatórios. 

1. (Opcional) Em **Tags**, insira o nome e o valor de todas as tags que você deseja que AWS os serviços de suporte usem. Use **Adicionar linha** para adicionar uma tag. É possível adicionar até 50 tags. 

1. Se você quiser fazer upload dos dados brutos dos resultados do relatório de teste para um bucket do Amazon S3: 

   1. Selecione **Exportar para o Amazon S3**. 

   1. Em **Nome do bucket do S3**, insira o nome do bucket do S3. 

   1. (Opcional) Para **Proprietário do bucket do S3**, insira o identificador da conta da AWS que tem o bucket do S3. Isso permite que os dados do relatório sejam exportados para um bucket do Amazon S3 que pertence a uma conta diferente da conta que está executando a compilação. 

   1. Em **Prefixo do caminho**, insira o caminho no bucket do S3 onde deseja fazer upload dos resultados do teste. 

   1. Selecione **Compactar dados do resultado do teste em um arquivo zip** para compactar os arquivos de dados do resultado de teste bruto. 

   1. Expanda **Configuração adicional** para exibir opções de criptografia. Escolha uma das seguintes opções: 
      + **Chave AWS gerenciada padrão** para usar a Chave gerenciada pela AWS para o Amazon S3. Para obter mais informações, consulte [Gerenciado pelo cliente CMKs](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) no *Guia AWS Key Management Service do usuário*. Esta é a opção de criptografia padrão.
      + **Escolher uma chave personalizada** para usar uma chave gerenciada pelo cliente criada e configurada por você. Para **Chave de criptografia do AWS KMS **, insira o ARN da chave de criptografia. O formato é ` arn:aws:kms:<region-id>: <aws-account-id>:key/<key-id> `. Para obter mais informações, consulte [Criar chaves do KMS](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html) no *Guia do usuário do AWS Key Management Service *. 
      + **Desativar criptografia de artefatos** para desabilitar a criptografia. Você pode escolher isso se quiser compartilhar seus resultados de teste ou publicá-los em um site estático. (Um site dinâmico pode executar códigos para descriptografar os resultados de teste.)

      Para obter mais informações sobre criptografia de dados em repouso, consulte [Criptografia de dados](security-encryption.md). 
**nota**  
A função CodeBuild de serviço especificada no projeto é usada para obter permissões de upload para o bucket do S3.

1. Escolha **Criar grupo de relatórios**.

## Criar um grupo de relatórios (CLI)
<a name="test-report-group-create-cli"></a>

O procedimento a seguir cria um grupo de relatórios usando a AWS CLI.

**Para criar um grupo de relatórios**

1. Crie um arquivo chamado `CreateReportGroup.json`.

1. Dependendo de suas necessidades, copie um dos seguintes trechos de código JSON para `CreateReportGroup.json`: 
   + Use o seguinte JSON para especificar que o grupo de relatórios de teste exporta arquivos de resultado de teste bruto para um bucket do Amazon S3. 

     ```
     {
       "name": "<report-name>",
       "type": "TEST",
       "exportConfig": {
         "exportConfigType": "S3",
         "s3Destination": {
           "bucket": "<bucket-name>",
           "bucketOwner": "<bucket-owner>",
           "path": "<path>",
           "packaging": "NONE | ZIP",
           "encryptionDisabled": "false",
           "encryptionKey": "<your-key>"
         },
         "tags": [
           {
             "key": "tag-key",
             "value": "tag-value"
           }
         ]
       }
     }
     ```
     + *<bucket-name>*Substitua pelo nome do bucket do Amazon S3 e *<path>* pelo caminho no bucket para onde você deseja exportar os arquivos. 
     + Se desejar compactar os arquivos exportados, para `packaging`, especifique `ZIP`. Caso contrário, especifique `NONE`. 
     + `bucketOwner` é opcional e só será necessário se o bucket do Amazon S3 pertencer a uma conta diferente da conta que está executando a compilação.
     + Use `encryptionDisabled` para especificar se deseja criptografar os arquivos exportados. Se você criptografar os arquivos exportados, insira a chave gerenciada pelo cliente. Para obter mais informações, consulte [Atualizar um grupo de relatórios](report-group-export-settings.md).
   + Use o seguinte JSON para especificar que seu relatório de teste não exporta arquivos de teste brutos: 

     ```
     {
       "name": "<report-name>",
       "type": "TEST",
       "exportConfig": {
         "exportConfigType": "NO_EXPORT"
       }
     }
     ```
**nota**  
A função CodeBuild de serviço especificada no projeto é usada para obter permissões de upload para o bucket do S3.

1. Execute este comando: . 

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

## Criar um grupo de relatórios (CloudFormation)
<a name="test-report-group-create-cfn"></a>

Utilize as instruções a seguir para criar um grupo de relatórios utilizando o modelo do CloudFormation 

 **Para criar um grupo de relatórios usando o modelo do CloudFormation ** 

 Você pode usar um arquivo CloudFormation de modelo para criar e provisionar um grupo de relatórios. Para obter mais informações, consulte o [CloudFormation Guia do usuário do ](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html). 

 O modelo CloudFormation YAML a seguir cria um grupo de relatórios que não exporta arquivos brutos de resultados de testes. 

```
Resources:
  CodeBuildReportGroup:
    Type: AWS::CodeBuild::ReportGroup
    Properties:
      Name: my-report-group-name
      Type: TEST
      ExportConfig:
        ExportConfigType: NO_EXPORT
```

 O modelo CloudFormation YAML a seguir cria um grupo de relatórios que exporta arquivos brutos de resultados de testes para um bucket do Amazon S3. 

```
Resources:
  CodeBuildReportGroup:
    Type: AWS::CodeBuild::ReportGroup
    Properties:
      Name: my-report-group-name
      Type: TEST
      ExportConfig:
        ExportConfigType: S3
        S3Destination:
          Bucket: amzn-s3-demo-bucket
          Path: path-to-folder-for-exported-files
          Packaging: ZIP
          EncryptionKey: my-KMS-encryption-key
          EncryptionDisabled: false
```

**nota**  
A função CodeBuild de serviço especificada no projeto é usada para obter permissões de upload para o bucket do S3.

# Nomenclatura do grupo de relatórios
<a name="test-report-group-naming"></a>

 Ao usar o console AWS CLI ou o AWS CodeBuild console para criar um grupo de relatórios, você especifica um nome para o grupo de relatórios. Se você usar a buildspec para criar um grupo de relatórios, ele será nomeado usando o formato `project-name-report-group-name-specified-in-buildspec`. Todos os relatórios criados pela execução de compilações desse projeto de compilação pertencem ao novo grupo de relatórios com o novo nome. 

 Se você não quiser CodeBuild criar um novo grupo de relatórios, especifique o ARN do grupo de relatórios no arquivo buildspec de um projeto de compilação. Você pode especificar o ARN de um grupo de relatórios em vários projetos de compilação. Depois que cada projeto de compilação é executado, o grupo de relatórios contém relatórios de teste criados por cada projeto de compilação. 

 Por exemplo, se você criar um grupo de relatórios com o nome `my-report-group` e usar seu nome em dois projetos de compilação diferentes nomeados `my-project-1` e `my-project-2` e criar uma compilação dos dois projetos, dois grupos de relatórios serão criados. O resultado são três grupos de relatórios com os seguintes nomes: 
+  `my-report-group`: não tem nenhum relatório de teste. 
+  `my-project-1-my-report-group`: contém relatórios com resultados de testes executados pelo projeto de compilação chamado `my-project-1`. 
+  `my-project-2-my-report-group`: contém relatórios com resultados de testes executados pelo projeto de compilação chamado `my-project-2`. 

 Se você usar o ARN do grupo de relatórios chamado `my-report-group` nos dois projetos e executar compilações de cada projeto, você ainda terá um grupo de relatórios (`my-report-group`). Esse grupo de relatórios contém relatórios de teste com resultados de testes executados pelos dois projetos de compilação. 

 Se você escolher um nome de grupo de relatórios que não pertença a um grupo de relatórios na sua conta da AWS , usar esse nome para um grupo de relatórios em um arquivo de compilação e executar uma compilação de seu projeto de compilação, um grupo de relatórios será criado. O formato do nome do novo grupo de relatórios é `project-name-new-group-name`. Por exemplo, se não houver um grupo de relatórios em sua AWS conta com o nome `new-report-group` e especificá-lo em um projeto de compilação chamado`test-project`, uma execução de compilação criará um novo grupo de relatórios com o nome`test-project-new-report-group`. 

# Compartilhar grupos de relatórios
<a name="report-groups-sharing"></a>

O compartilhamento do grupo de relatórios permite que várias AWS contas ou usuários visualizem um grupo de relatórios, seus relatórios não expirados e os resultados dos testes de seus relatórios. Neste modelo, a conta que possui o grupo de relatórios (proprietário) compartilha um grupo de relatórios com outras contas (consumidores). Um consumidor não pode editar um grupo de relatórios. Um relatório expira 30 dias após a criação.

**Topics**
+ [

## Compartilhar um grupo de relatórios
](#report-groups-sharing-share)
+ [

## Serviços relacionados
](#report-groups-sharing-related)
+ [

# Acessar grupos de relatórios compartilhados com você
](report-groups-sharing-access-prereqs.md)
+ [

# Cancelar o compartilhamento de um grupo de relatórios compartilhado
](report-groups-sharing-unshare.md)
+ [

# Identificar um grupo de relatórios compartilhados
](report-groups-sharing-identify.md)
+ [

# Permissões do grupo de relatórios compartilhados
](report-groups-sharing-perms.md)

## Compartilhar um grupo de relatórios
<a name="report-groups-sharing-share"></a>

 Quando você compartilha um grupo de relatórios, o consumidor recebe acesso somente leitura ao grupo de relatórios e seus relatórios. O consumidor pode usar o AWS CLI para visualizar o grupo de relatórios, seus relatórios e os resultados do caso de teste de cada relatório. O consumidor não pode: 
+  Visualize um grupo de relatórios compartilhado ou seus relatórios no CodeBuild console. 
+  Editar um grupo de relatórios compartilhados. 
+  Usar o ARN do grupo de relatórios compartilhados em um projeto para executar um relatório. Uma compilação de projeto que especifique um grupo de relatórios compartilhados falhará. 

Você pode usar o CodeBuild console para adicionar um grupo de relatórios a um compartilhamento de recursos existente. Se quiser adicionar o grupo de relatórios a um novo compartilhamento de recursos, primeiro você deve criá-lo no [console do AWS RAM](https://console.aws.amazon.com/ram).

Para compartilhar um grupo de relatórios com unidades organizacionais ou toda uma organização, é necessário habilitar o compartilhamento com AWS Organizations. Para obter mais informações, consulte [Habilitar o compartilhamento com o AWS Organizations](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-sharing.html) no *Guia do usuário do AWS RAM *.

Você pode usar o CodeBuild console, o AWS RAM console ou AWS CLI compartilhar grupos de relatórios que você possui.

**Pré-requisito**  
Para compartilhar um grupo de relatórios, sua AWS conta precisa ser proprietária dele. Não é possível compartilhar um grupo de relatórios que tenha sido compartilhado com você.

**Para compartilhar um grupo de relatórios que você possui (CodeBuild console)**

1. Abra o AWS CodeBuild console em [https://console.aws.amazon.com/codesuite/codebuild/home](https://console.aws.amazon.com/codesuite/codebuild/home).

1. No painel de navegação, escolha **Grupos de relatórios**.

1.  Escolha o projeto que deseja compartilhar e selecione **Compartilhar**. Para obter mais informações, consulte [Create a resource share](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-sharing.html#getting-started-sharing-create) no *Guia do usuário do AWS RAM *. 

**Para compartilhar grupos de relatórios que você possui (AWS RAM console)**  
Consulte [Creating a resource share](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing.html#working-with-sharing-create) no *Guia do usuário do AWS RAM *.

**Para compartilhar grupos de relatórios que você possui (AWS RAM comando)**  
Use o comando [create-resource-share](https://docs.aws.amazon.com/cli/latest/reference/ram/create-resource-share.html).

 **Para compartilhar um grupo de relatórios que você possui (CodeBuild comando)** 

Use o comando [put-resource-policy](https://docs.aws.amazon.com/cli/latest/reference/codebuild/put-resource-policy.html):

1. Crie um arquivo chamado `policy.json` e copie o seguinte nele. 

------
#### [ JSON ]

****  

   ```
   {
      "Version":"2012-10-17",		 	 	 
      "Statement":[{
        "Effect":"Allow",
        "Principal":{
          "AWS":"111122223333"
        },
        "Action":[
          "codebuild:BatchGetReportGroups",
          "codebuild:BatchGetReports",
          "codebuild:ListReportsForReportGroup",
          "codebuild:DescribeTestCases"],
        "Resource":"arn:aws:iam::*:role/Service*"
      }]
    }
   ```

------

1. Atualize `policy.json` com o ARN do grupo de relatórios e os identificadores com quais compartilhá-lo. O exemplo a seguir concede acesso somente de leitura ao grupo de relatórios com o ARN para Alice e `arn:aws:codebuild:us-west-2:123456789012:report-group/my-report-group` para o usuário raiz da conta identificada por 123456789012. AWS 

------
#### [ JSON ]

****  

   ```
   {
      "Version":"2012-10-17",		 	 	 
      "Statement":[{
        "Effect":"Allow",
        "Principal":{
          "AWS": [
             "arn:aws:iam::123456789012:user/Alice",
             "123456789012"
           ]
        },
        "Action":[
          "codebuild:BatchGetReportGroups",
          "codebuild:BatchGetReports",
          "codebuild:ListReportsForReportGroup",
          "codebuild:DescribeTestCases"],
        "Resource":"arn:aws:codebuild:us-west-2:123456789012:report-group/my-report-group"
      }]
    }
   ```

------

1. Execute o seguinte comando. 

   ```
   aws codebuild put-resource-policy --resource-arn report-group-arn --policy file://policy.json
   ```

## Serviços relacionados
<a name="report-groups-sharing-related"></a>

O compartilhamento de grupos de relatórios se integra ao AWS Resource Access Manager (AWS RAM), um serviço que possibilita que você compartilhe seus AWS recursos com qualquer AWS conta ou por meio AWS Organizations de. Com AWS RAM, você compartilha recursos de sua propriedade criando um *compartilhamento de recursos* que especifica os recursos e os consumidores com os quais compartilhá-los. Os consumidores podem ser AWS contas individuais, unidades organizacionais ou uma organização inteira em AWS Organizations. AWS Organizations

Para obter mais informações, consulte o *Guia do usuário do [AWS RAM](https://docs.aws.amazon.com/ram/latest/userguide/)*.

# Acessar grupos de relatórios compartilhados com você
<a name="report-groups-sharing-access-prereqs"></a>

Para acessar um grupo de relatórios compartilhados, a função do IAM de um consumidor requer a permissão `BatchGetReportGroups`. É possível anexar a seguinte política ao perfil do IAM: 

```
{
    "Effect": "Allow",
    "Resource": [
        "*"
    ],
    "Action": [
        "codebuild:BatchGetReportGroups"
    ]
}
```

 Para obter mais informações, consulte [Usando políticas baseadas em identidade para AWS CodeBuild](auth-and-access-control-iam-identity-based-access-control.md). 

# Cancelar o compartilhamento de um grupo de relatórios compartilhado
<a name="report-groups-sharing-unshare"></a>

Um grupo de relatórios cancelado, incluindo seus relatórios e seus resultados de caso de teste, só pode ser acessado pelo proprietário. Se você cancelar o compartilhamento de um grupo de relatórios, qualquer AWS conta ou usuário com quem você o compartilhou anteriormente não poderá acessar o grupo de relatórios, seus relatórios ou os resultados dos casos de teste nos relatórios.

Para cancelar o compartilhamento de um grupo de relatórios de sua propriedade, é necessário removê-lo do compartilhamento de recursos. Você pode usar o AWS RAM console ou AWS CLI fazer isso.

**Para cancelar o compartilhamento de um grupo de relatórios compartilhado que você possui (AWS RAM console)**  
Consulte [Atualização de um compartilhamento de recursos](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing.html#working-with-sharing-update) no *Guia do usuário do AWS RAM *.

**Para cancelar o compartilhamento de um grupo de relatórios compartilhado de sua propriedade (AWS RAM comando)**  
Use o comando [disassociate-resource-share](https://docs.aws.amazon.com/cli/latest/reference/ram/disassociate-resource-share.html).

 **Para cancelar o compartilhamento do grupo de relatórios que você possui ( CodeBuild comando)** 

Execute o [delete-resource-policy](https://docs.aws.amazon.com/cli/latest/reference/codebuild/delete-resource-policy.html)comando e especifique o ARN do grupo de relatórios que você deseja cancelar o compartilhamento:

```
aws codebuild delete-resource-policy --resource-arn report-group-arn
```

# Identificar um grupo de relatórios compartilhados
<a name="report-groups-sharing-identify"></a>

Proprietários e consumidores podem usar o AWS CLI para identificar grupos de relatórios compartilhados. 

Para identificar e obter informações sobre um grupo de relatórios compartilhados e seus relatórios, use os seguintes comandos: 
+  Para ver os grupos ARNs de relatórios compartilhados com você, execute`[list-shared-report-groups](https://docs.aws.amazon.com/cli/latest/reference/codebuild/list-shared-report-groups.html)`: 

  ```
  aws codebuild list-shared-report-groups
  ```
+  Para ver os relatórios em um grupo ARNs de relatórios, execute `[list-reports-for-report-group](https://docs.aws.amazon.com/cli/latest/reference/codebuild/list-reports-for-report-group.html)` usando o ARN do grupo de relatórios: 

  ```
  aws codebuild list-reports-for-report-group --report-group-arn report-group-arn
  ```
+  Para visualizar informações sobre casos de teste em um relatório, execute `[describe-test-cases](https://docs.aws.amazon.com/cli/latest/reference/codebuild/describe-test-cases.html)` usando o ARN do relatório: 

  ```
  aws codebuild describe-test-cases --report-arn report-arn
  ```

   A saída será exibida como a seguir: 

  ```
  {
      "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"
          }
      ]
  }
  ```

# Permissões do grupo de relatórios compartilhados
<a name="report-groups-sharing-perms"></a>

## Permissões para proprietários
<a name="report-groups-perms-owner"></a>

Um proprietário do grupo de relatórios pode editar o grupo de relatórios e especificá-lo em um projeto para executar relatórios.

## Permissões para clientes
<a name="report-groups-perms-consumer"></a>

Um consumidor do grupo de relatórios pode visualizar um grupo de relatórios, seus relatórios e os resultados do caso de teste para os relatórios. Um consumidor não pode editar um grupo de relatórios, ou seus relatórios, e não pode usá-lo para criar relatórios.

# Especificar arquivos de teste
<a name="report-group-test-cases"></a>

 Especifique os arquivos de resultado do teste e seu local para cada grupo de relatórios na seção `reports` do arquivo buildspec do seu projeto de compilação. Para obter mais informações, consulte [Reports syntax in the buildspec file](build-spec-ref.md#reports-buildspec-file). 

 Veja a seguir uma seção de exemplo `reports` que especifica dois grupos de relatórios para um projeto de compilação. Um é especificado pelo ARN, o outro pelo nome. A seção `files` especifica os arquivos que contêm os resultados do caso de teste. A seção `base-directory` opcional especifica o diretório onde os arquivos de caso de teste estão localizados. A seção `discard-paths` opcional especifica se os caminhos para testar arquivos de resultado enviados a um bucket do Amazon S3 serão descartados. 

```
reports:
  arn:aws:codebuild:your-region:your-aws-account-id:report-group/report-group-name-1: #surefire junit reports
    files:
      - '**/*'
    base-directory: 'surefire/target/surefire-reports'
    discard-paths: false
    
  sampleReportGroup: #Cucumber reports from json plugin
    files:
      - 'cucumber-json/target/cucumber-json-report.json'
    file-format: CUCUMBERJSON #Type of the report, defaults to JUNITXML
```

# Especificar comandos de teste
<a name="report-group-test-case-commands"></a>

 Especifique os comandos que executam seus casos de teste na seção `commands` do arquivo buildspec. Esses comandos executam os casos de teste especificados para seus grupos de relatórios na seção `reports` do arquivo buildspec. Veja a seguir uma seção `commands` de exemplo que inclui comandos para executar os testes em arquivos de teste: 

```
commands:
    - echo Running tests for surefire junit
    - mvn test -f surefire/pom.xml -fn
    - echo
    - echo Running tests for cucumber with json plugin
    - mvn test -Dcucumber.options="--plugin json:target/cucumber-json-report.json" -f cucumber-json/pom.xml -fn
```

Para obter mais informações, consulte [Sintaxe de buildspec](build-spec-ref.md#build-spec-ref-syntax).

# Marcar um grupo de relatórios em AWS CodeBuild
<a name="how-to-tag-report-group"></a>

Uma *tag* é um rótulo de atributo personalizado que você atribui ou AWS atribui a um AWS recurso. Cada AWS tag tem duas partes:
+ Uma *chave de tag* (por exemplo `CostCenter`, `Environment`, `Project` ou `Secret`). As chaves de tag diferenciam maiúsculas de minúsculas
+ Um campo opcional conhecido como um *valor de tag* (por exemplo, `111122223333`, `Production` ou um nome de equipe). Omitir o valor da tag é o mesmo que usar uma string vazia. Assim como as chaves de tag, os valores de tag diferenciam maiúsculas de minúsculas.

Juntos, esses são conhecidos como pares de chave-valor. Para limites no número de tags que é possível ter em um repositórios e restrições nos valores e chaves de tags, consulte [Tags](limits.md#tag-limits).

As tags ajudam você a identificar e organizar seus AWS recursos. Muitos AWS serviços oferecem suporte à marcação, então você pode atribuir a mesma tag a recursos de serviços diferentes para indicar que os recursos estão relacionados. Por exemplo, você pode atribuir a mesma tag a um grupo de CodeBuild relatórios que você atribui a um bucket do Amazon S3. Para obter mais informações sobre o uso de tags, consulte o informe [Práticas recomendadas de marcação](https://d1.awsstatic.com/whitepapers/aws-tagging-best-practices.pdf). 

Em CodeBuild, os recursos principais são o grupo de relatórios e o projeto. Você pode usar o CodeBuild console, o AWS CLI CodeBuild APIs, ou AWS SDKs para adicionar, gerenciar e remover tags de um grupo de relatórios. Além de identificar, organizar e monitorar o grupo de relatórios com tags, é possível usar tags em políticas do IAM para ajudar a controlar quem pode visualizar e interagir com o grupo de relatórios. Para obter exemplos de políticas de acesso baseadas em tags, consulte [Usando tags para controlar o acesso aos AWS CodeBuild recursos](auth-and-access-control-using-tags.md).

**Topics**
+ [

# Adicionar tags a um grupo de relatórios
](how-to-tag-report-group-add.md)
+ [

# Visualizar tags de um grupo de relatórios
](how-to-tag-report-group-list.md)
+ [

# Editar tags de um grupo de relatórios
](how-to-tag-report-group-update.md)
+ [

# Remover tags de um grupo de relatórios
](how-to-tag-report-group-delete.md)

# Adicionar tags a um grupo de relatórios
<a name="how-to-tag-report-group-add"></a>

Adicionar tags a um grupo de relatórios pode ajudar você a identificar e organizar seus AWS recursos e gerenciar o acesso a eles. Primeiro, adicione uma ou mais tags (pares chave/valor) a um grupo de relatórios. Lembre-se de que há limites para o número de tags que é possível ter em um grupo de relatórios. Há restrições com relação aos caracteres que é possível usar nos campos chave e valor. Para obter mais informações, consulte [Tags](limits.md#tag-limits). Depois que tiver tags, será possível criar políticas do IAM para gerenciar o acesso ao grupo de relatórios com base nessas tags. Você pode usar o CodeBuild console ou o AWS CLI para adicionar tags a um grupo de relatórios. 

**Importante**  
Adicionar tags a um grupo de relatórios pode afetar o acesso a ele. Antes de adicionar uma tag a um grupo de relatórios, revise as políticas do IAM que podem usar tags para controlar o acesso a recursos, como grupos de relatórios. Para obter exemplos de políticas de acesso baseadas em tags, consulte [Usando tags para controlar o acesso aos AWS CodeBuild recursos](auth-and-access-control-using-tags.md).

Para obter mais informações sobre como adicionar tags a um grupo de relatórios ao criá-lo, consulte [Criar um grupo de relatórios (console)](report-group-create.md#test-report-group-create-console).

**Topics**
+ [

## Adicionar uma tag a um grupo de relatórios (console)
](#how-to-tag-report-group-add-console)
+ [

## Adicionar uma tag a um grupo de relatórios (AWS CLI)
](#how-to-tag-report-group-add-cli)

## Adicionar uma tag a um grupo de relatórios (console)
<a name="how-to-tag-report-group-add-console"></a>

Você pode usar o CodeBuild console para adicionar uma ou mais tags a um grupo de CodeBuild relatórios. 

1. Abra o CodeBuild console em [https://console.aws.amazon.com/codebuild/](https://console.aws.amazon.com/codebuild/).

1. Em **Grupos de relatórios**, escolha o nome do grupo de relatórios ao qual deseja adicionar tags.

1. No painel de navegação, selecione **Configurações**.

1. Se nenhuma tag tiver sido adicionada ao grupo de relatórios, selecione **Adicionar tag**. Também é possível escolher **Editar** e **Adicionar tag**.

1. Em **Chave**, insira um nome para a tag. É possível adicionar um valor opcional para a tag em **Valor**. 

1. (Opcional) Para adicionar outra tag, selecione **Adicionar tag** novamente.

1. Quando terminar de adicionar tags, selecione **Enviar**.

## Adicionar uma tag a um grupo de relatórios (AWS CLI)
<a name="how-to-tag-report-group-add-cli"></a>

Para adicionar uma tag a um grupo de relatórios ao criá-lo, consulte [Criar um grupo de relatórios (CLI)](report-group-create.md#test-report-group-create-cli). Em `CreateReportGroup.json`, adicione as tags.

 Para adicionar tags a um grupo de relatórios existente, consulte [Atualizar um grupo de relatórios (CLI)](report-group-export-settings.md#update-report-group-cli) e adicione as tags no `UpdateReportGroupInput.json`. 

Nestas etapas, partimos do princípio de que você já instalou uma versão recente da AWS CLI ou atualizou para a versão atual. Para obter mais informações, consulte [Instalar a AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/installing.html).

# Visualizar tags de um grupo de relatórios
<a name="how-to-tag-report-group-list"></a>

As tags podem ajudar você a identificar e organizar seus AWS recursos e gerenciar o acesso a eles. Para obter mais informações sobre o uso de tags, consulte o informe [Práticas recomendadas de marcação](https://d1.awsstatic.com/whitepapers/aws-tagging-best-practices.pdf). Para obter exemplos de políticas de acesso baseadas em tags, consulte [Deny or allow actions on report groups based on resource tags](auth-and-access-control-using-tags.md#report-group-tag-policy-example).

## Visualizar tags de um grupo de relatórios (console)
<a name="how-to-tag-report-group-list-console"></a>

Você pode usar o CodeBuild console para visualizar as tags associadas a um grupo de CodeBuild relatórios. 

1. Abra o CodeBuild console em [https://console.aws.amazon.com/codebuild/](https://console.aws.amazon.com/codebuild/).

1. Em **Grupos de relatórios**, escolha o nome do grupo de relatórios no qual deseja visualizar tags.

1. No painel de navegação, selecione **Configurações**.

## Visualizar tags de um grupo de relatórios (AWS CLI)
<a name="how-to-tag-report-group-list-cli"></a>

Siga estas etapas para usar o AWS CLI para visualizar as AWS tags de um grupo de relatórios. Se nenhuma tag tiver sido adicionada, a lista de tags retornará vazia.

1.  Use o console ou o AWS CLI para localizar o ARN do seu grupo de relatórios. Tome note dele. 

------
#### [ AWS CLI ]

    Execute o comando a seguir. 

   ```
   aws list-report-groups
   ```

    Esse comando retorna informações formatadas em JSON semelhantes às seguintes: 

   ```
   {
       "reportGroups": [
           "arn:aws:codebuild:region:123456789012:report-group/report-group-1",
           "arn:aws:codebuild:region:123456789012:report-group/report-group-2",
           "arn:aws:codebuild:region:123456789012:report-group/report-group-3"
       ]
   }
   ```

   O ARN de um grupo de relatórios termina com o nome do grupo, que pode ser usado para identificar o ARN do grupo de relatórios.

------
#### [ Console ]

   1. Abra o CodeBuild console em [https://console.aws.amazon.com/codebuild/](https://console.aws.amazon.com/codebuild/).

   1. Em **Grupos de relatórios**, escolha o nome do grupo de relatórios com as tags que deseja visualizar.

   1.  Em **Configuração** localize o ARN do grupo de relatórios. 

------

1.  Execute o comando a seguir. Use o ARN que você anotou para o parâmetro `--report-group-arns`. 

   ```
   aws codebuild batch-get-report-groups --report-group-arns arn:aws:codebuild:region:123456789012:report-group/report-group-name
   ```

    Se tiver êxito, esse comando retornará informações formatadas em JSON com uma seção `tags` semelhante à seguinte: 

   ```
   {
       ...                        
       "tags": {
           "Status": "Secret",
           "Project": "TestBuild"
       }
       ...
   }
   ```

# Editar tags de um grupo de relatórios
<a name="how-to-tag-report-group-update"></a>

É possível alterar o valor de uma tag associada a um grupo de relatórios. Também é possível alterar o nome da chave, o que é equivalente a excluir a tag atual e adicionar outra com o novo nome e o mesmo valor da outra chave. Lembre-se de que há restrições em relação aos caracteres que podem ser usados nos campos de chave e valor. Para obter mais informações, consulte [Tags](limits.md#tag-limits).

**Importante**  
A edição de tags de um grupo de relatórios pode afetar o acesso a ele. Antes de editar o nome (chave) ou o valor de uma tag de um grupo de relatórios, revise as políticas do IAM que podem usar essa chave ou esse valor para uma tag a fim de controlar o acesso a recursos, como grupos de relatórios. Para obter exemplos de políticas de acesso baseadas em tags, consulte [Deny or allow actions on report groups based on resource tags](auth-and-access-control-using-tags.md#report-group-tag-policy-example).

## Editar uma tag de um grupo de relatórios (console)
<a name="how-to-tag-report-group-update-console"></a>

Você pode usar o CodeBuild console para editar as tags associadas a um grupo de CodeBuild relatórios. 

1. Abra o CodeBuild console em [https://console.aws.amazon.com/codebuild/](https://console.aws.amazon.com/codebuild/).

1. Em **Grupos de relatórios**, escolha o nome do grupo de relatórios do qual deseja editar tags.

1. No painel de navegação, selecione **Configurações**.

1. Escolha **Editar**.

1. Execute um destes procedimentos:
   + Para alterar a tag, insira um novo nome em **Chave**. Alterar o nome da tag é equivalente a excluir uma tag e adicionar outra tag com o novo nome de chave.
   + Para alterar o valor de uma tag, insira um novo valor. Se você deseja alterar o valor para nulo, exclua o valor atual e deixe o campo em branco.

1. Quando terminar de editar as tags, selecione **Enviar**.

## Editar tags de um grupo de relatórios (AWS CLI)
<a name="how-to-tag-report-group-update-cli"></a>

 Para adicionar, alterar ou excluir tags de um grupo de relatórios, consulte [Atualizar um grupo de relatórios (CLI)](report-group-export-settings.md#update-report-group-cli). Atualize as tags em `UpdateReportGroupInput.json`. 

# Remover tags de um grupo de relatórios
<a name="how-to-tag-report-group-delete"></a>

É possível excluir uma ou mais tags associadas a um grupo de relatórios. A remoção de uma tag não exclui a tag de outros AWS recursos associados a essa tag.

**Importante**  
A remoção de tags de um grupo de relatórios pode afetar o acesso a ele. Antes de remover uma tag de um grupo de relatórios, revise as políticas do IAM que podem usar a chave ou o valor para uma tag a fim de controlar o acesso a recursos, como grupos de relatórios. Para obter exemplos de políticas de acesso baseadas em tags, consulte [Usando tags para controlar o acesso aos AWS CodeBuild recursos](auth-and-access-control-using-tags.md).

## Remover uma tag de um grupo de relatórios (console)
<a name="how-to-tag-report-group-delete-console"></a>

Você pode usar o CodeBuild console para remover a associação entre uma tag e um grupo de CodeBuild relatórios. 

1. Abra o CodeBuild console em [https://console.aws.amazon.com/codebuild/](https://console.aws.amazon.com/codebuild/).

1. Em **Grupos de relatórios**, escolha o nome do grupo de relatórios do qual deseja remover tags.

1. No painel de navegação, selecione **Configurações**.

1. Escolha **Editar**.

1. Encontre a tag que deseja excluir e selecione **Remover tag**.

1. Quando terminar de excluir tags, selecione **Enviar**.

## Remover uma tag de um grupo de relatórios (AWS CLI)
<a name="how-to-tag-report-group-delete-cli"></a>

Siga estas etapas para usar o AWS CLI para remover uma tag de um grupo de CodeBuild relatórios. Remover uma tag não a exclui, apenas remove a associação entre a tag e o grupo de relatórios. 

**nota**  
Se você excluir um grupo de CodeBuild relatórios, todas as associações de tags serão removidas do grupo de relatórios excluído. Não é necessário remover as tags antes de excluir um grupo de relatórios.

 Para excluir uma ou mais tags de um grupo de relatórios, consulte [Editar tags de um grupo de relatórios (AWS CLI)](how-to-tag-report-group-update.md#how-to-tag-report-group-update-cli). Atualize a seção `tags` nos dados formatados em JSON com uma lista atualizada de tags que não contenha as que você deseja excluir. Se quiser excluir todas as tags, atualize a seção `tags` para:

```
"tags: []"
```

# Atualizar um grupo de relatórios
<a name="report-group-export-settings"></a>

 Ao atualizar um grupo de relatórios, é possível especificar informações sobre se deseja exportar os dados do resultado de teste bruto para arquivos em um bucket do Amazon S3. Se você optar por exportar para um bucket do S3, é possível especificar o seguinte para o grupo de relatórios: 
+ Se os arquivos de resultados de teste bruto são compactados em um arquivo ZIP.
+ Se os arquivos do resultado de teste bruto estão criptografados. Você pode especificar a criptografia com uma das seguintes opções:
  + E Chave gerenciada pela AWS para o Amazon S3. 
  + Uma chave gerenciada pelo cliente que você cria e configura.

Para obter mais informações, consulte [Criptografia de dados](security-encryption.md). 

Se você usar o AWS CLI para atualizar um grupo de relatórios, também poderá atualizar ou adicionar tags. Para obter mais informações, consulte [Marcar um grupo de relatórios em AWS CodeBuildMarcar um grupo de relatórios](how-to-tag-report-group.md).

**nota**  
A função CodeBuild de serviço especificada no projeto é usada para obter permissões de upload para o bucket do S3.

**Topics**
+ [

## Atualizar um grupo de relatórios (console)
](#update-report-group-console)
+ [

## Atualizar um grupo de relatórios (CLI)
](#update-report-group-cli)

## Atualizar um grupo de relatórios (console)
<a name="update-report-group-console"></a>

Use o procedimento a seguir para atualizar o grupo de relatórios usando a Console de gerenciamento da AWS.

**Para atualizar um grupo de relatórios**

1. Abra o AWS CodeBuild console em [https://console.aws.amazon.com/codesuite/codebuild/home](https://console.aws.amazon.com/codesuite/codebuild/home).

1.  No painel de navegação, escolha **Grupos de relatórios**. 

1. Escolha o grupo de relatórios que deseja atualizar. 

1. Escolha **Editar**.

1. Selecione ou desmarque **Fazer backup para Amazon S3**. Caso tenha selecionado essa opção, especifique suas configurações de exportação:

   1. Em **Nome do bucket do S3**, insira o nome do bucket do S3. 

   1. Em **Prefixo do caminho**, insira o caminho no bucket do S3 onde deseja fazer upload dos resultados do teste. 

   1. Selecione **Compactar dados do resultado do teste em um arquivo zip** para compactar os arquivos de dados do resultado de teste bruto. 

   1. Expanda **Configuração adicional** para exibir opções de criptografia. Escolha uma das seguintes opções: 
      + **Chave AWS gerenciada padrão** para usar a Chave gerenciada pela AWS para o Amazon S3. Para obter mais informações, consulte [Gerenciado pelo cliente CMKs](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) no *Guia AWS Key Management Service do usuário*. Esta é a opção de criptografia padrão.
      + **Escolher uma chave personalizada** para usar uma chave gerenciada pelo cliente criada e configurada por você. Para **Chave de criptografia do AWS KMS **, insira o ARN da chave de criptografia. O formato é ` arn:aws:kms:<region-id>: <aws-account-id>:key/<key-id> `. Para obter mais informações, consulte [Criar chaves do KMS](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html) no *Guia do usuário do AWS Key Management Service *. 
      + **Desativar criptografia de artefatos** para desabilitar a criptografia. Você pode escolher isso se quiser compartilhar seus resultados de teste ou publicá-los em um site estático. (Um site dinâmico pode executar códigos para descriptografar os resultados de teste.)

## Atualizar um grupo de relatórios (CLI)
<a name="update-report-group-cli"></a>

Use o procedimento a seguir para atualizar o grupo de relatórios usando a AWS CLI.

**Para atualizar um grupo de relatórios**

1. Crie um arquivo chamado `UpdateReportGroupInput.json`.

1. Copie o seguinte em `UpdateReportGroupInput.json`: 

   ```
   {
       "arn": "",
       "exportConfig": {
           "exportConfigType": "S3",
           "s3Destination": {
               "bucket": "bucket-name", 
               "path": "path", 
               "packaging": "NONE | ZIP",
               "encryptionDisabled": "false",
               "encryptionKey": "your-key"
            }
        },
        "tags": [
           {
               "key": "tag-key",
               "value": "tag-value"
           }
        ]
   }
   ```

1. Insira o ARN do grupo de relatórios na linha do `arn` (por exemplo, `"arn":"arn:aws:codebuild:region:123456789012:report-group/report-group-1")`. 

1. Atualize `UpdateReportGroupInput.json` com as atualizações que deseja aplicar ao grupo de relatórios. 
   + Se você deseja atualizar o grupo de relatórios para exportar arquivos de resultados de teste brutos para um bucket do S3, atualize a seção `exportConfig`. Substitua `bucket-name` pelo nome do bucket do S3 e `path` pelo caminho no bucket do S3 para o qual você deseja exportar os arquivos. Se desejar compactar os arquivos exportados, para `packaging`, especifique `ZIP`. Caso contrário, especifique `NONE`. Use `encryptionDisabled` para especificar se deseja criptografar os arquivos exportados. Se você criptografar os arquivos exportados, insira a chave gerenciada pelo cliente.
   + Se você deseja atualizar o grupo de relatórios para que ele não exporte os arquivos de resultado de teste brutos para um bucket do S3, atualize a seção `exportConfig` com o seguinte JSON: 

     ```
     { 
       "exportConfig": {
           "exportConfigType": "NO_EXPORT"
       }
     }
     ```
   + Se quiser atualizar as tags do grupo de relatórios, atualize a seção `tags`. É possível alterar, adicionar ou remover tags. Se quiser remover todas as tags, atualize-o com o seguinte JSON: 

     ```
     "tags": []
     ```

1.  Execute este comando: . 

   ```
   aws codebuild update-report-group \
   --cli-input-json file://UpdateReportGroupInput.json
   ```

# Framework de teste
<a name="test-framework-reporting"></a>

Os tópicos desta seção demonstram como configurar relatórios de teste AWS CodeBuild para várias estruturas de teste.

**Topics**
+ [

# Configurar relatórios de teste com Jasmine
](test-report-jasmine.md)
+ [

# Configurar relatórios de teste com Jest
](test-report-jest.md)
+ [

# Configurar relatórios de teste com pytest
](test-report-pytest.md)
+ [

# Configurar relatórios de teste com RSpec
](test-report-rspec.md)

# Configurar relatórios de teste com Jasmine
<a name="test-report-jasmine"></a>

O procedimento a seguir demonstra como configurar relatórios de teste no AWS CodeBuild com a [estrutura de trabalho de teste JasmineBDD](http://jasmine.github.io/). 

O procedimento requer os seguintes pré-requisitos:
+ Você tem um projeto do CodeBuild.
+ O projeto é Node.js configurado para usar a estrutura de trabalho de teste Jasmine.

Adicione o pacote [https://www.npmjs.com/package/jasmine-reporters](https://www.npmjs.com/package/jasmine-reporters) à seção `devDependencies` do arquivo `package.json` do projeto. Esse pacote tem uma coleção de classes de relatórios JavaScript que podem ser usadas com Jasmine. 

```
npm install --save-dev jasmine-reporters
```

Se ainda não estiver presente, adicione o script `test` ao arquivo `package.json` do projeto. O script `test` garante que o Jasmine seja chamado quando **npm test** for executado.

```
{
  "scripts": {
    "test": "npx jasmine"
  }
}
```

O CodeBuild é compatível com os seguintes relatórios de teste Jasmine:

**JUnitXmlReporter**  
Usado para gerar relatórios no formato `JunitXml`.

**NUnitXmlReporter**  
Usado para gerar relatórios no formato `NunitXml`.

Um projeto Node.js com Jasmine terá, por padrão, um subdiretório `spec`, que contém a configuração da Jasmine e scripts de teste. 

Para configurar o Jasmine para gerar relatórios no formato `JunitXML`, instancie o relatório `JUnitXmlReporter` adicionando o código a seguir aos testes. 

```
var reporters = require('jasmine-reporters');

var junitReporter = new reporters.JUnitXmlReporter({
  savePath: <test report directory>,
  filePrefix: <report filename>,
  consolidateAll: true
});

jasmine.getEnv().addReporter(junitReporter);
```

Para configurar o Jasmine para gerar relatórios no formato `NunitXML`, instancie o relatório `NUnitXmlReporter` adicionando o código a seguir aos testes. 

```
var reporters = require('jasmine-reporters');

var nunitReporter = new reporters.NUnitXmlReporter({
  savePath: <test report directory>,
  filePrefix: <report filename>,
  consolidateAll: true
});

jasmine.getEnv().addReporter(nunitReporter)
```

Os relatórios de teste são exportados para o arquivo especificado por *<test report directory>*/*<report filename>*.

No arquivo `buildspec.yml`, adicione/atualize as seções a seguir.

```
version: 0.2

phases:
  pre_build:
    commands:
      - npm install
  build:
    commands:
      - npm build
      - npm test

reports:
  jasmine_reports:
    files:
      - <report filename>
    file-format: JUNITXML
    base-directory: <test report directory>
```

Se você estiver usando o formato de relatório `NunitXml`, altere o valor `file-format` para o seguinte.

```
    file-format: NUNITXML
```

# Configurar relatórios de teste com Jest
<a name="test-report-jest"></a>

O procedimento a seguir demonstra como configurar relatórios de teste no AWS CodeBuild com a [estrutura de trabalho de teste Jest](https://jestjs.io/). 

O procedimento requer os seguintes pré-requisitos:
+ Você tem um projeto do CodeBuild.
+ O projeto é um projeto Node.js configurado para usar a estrutura de trabalho de teste Jest.

Adicione o pacote [https://www.npmjs.com/package/jest-junit](https://www.npmjs.com/package/jest-junit) à seção `devDependencies` do arquivo `package.json` do projeto. O CodeBuild usa esse pacote para gerar relatórios no formato `JunitXml`.

```
npm install --save-dev jest-junit
```

Se ainda não estiver presente, adicione o script `test` ao arquivo `package.json` do projeto. O script `test` garante que o Jest seja chamado quando **npm test** for executado.

```
{
  "scripts": {
    "test": "jest"
  }
}
```

Configure a Jest para usar o relatório `JunitXml` adicionando o seguinte ao arquivo de configuração da Jest. Se o projeto não tiver um arquivo de configuração da Jest, crie um arquivo chamado `jest.config.js` na raiz do projeto e adicione o seguinte. Os relatórios de teste são exportados para o arquivo especificado por *<test report directory>*/*<report filename>*.

```
module.exports = {
  reporters: [
    'default',
    [ 'jest-junit', {
      outputDirectory: <test report directory>,
      outputName: <report filename>,
    } ]
  ]
};
```

No arquivo `buildspec.yml`, adicione/atualize as seções a seguir.

```
version: 0.2

phases:
  pre_build:
    commands:
      - npm install
  build:
    commands:
      - npm build
      - npm test

reports:
  jest_reports:
    files:
      - <report filename>
    file-format: JUNITXML
    base-directory: <test report directory>
```

# Configurar relatórios de teste com pytest
<a name="test-report-pytest"></a>

O procedimento a seguir demonstra como configurar relatórios de teste no AWS CodeBuild com a [estrutura de trabalho de teste pytest](https://docs.pytest.org/). 

O procedimento requer os seguintes pré-requisitos:
+ Você tem um projeto do CodeBuild.
+ O projeto é um projeto Python configurado para usar a estrutura de trabalho de teste pytest.

Adicione a seguinte entrada à fase `build` ou `post_build` do arquivo `buildspec.yml`. Esse código descobre automaticamente os testes no diretório atual e exporta os relatórios de teste para o arquivo especificado por *<diretório de relatórios de teste>*/*<nome de arquivo do relatório>*. O relatório usa o formato `JunitXml`.

```
      - python -m pytest --junitxml=<test report directory>/<report filename>
```

No arquivo `buildspec.yml`, adicione/atualize as seções a seguir.

```
version: 0.2

phases:
  install:
    runtime-versions:
      python: 3.7
    commands:
      - pip3 install pytest
  build:
    commands:
      - python -m pytest --junitxml=<test report directory>/<report filename>

reports:
  pytest_reports:
    files:
      - <report filename>
    base-directory: <test report directory>
    file-format: JUNITXML
```

# Configurar relatórios de teste com RSpec
<a name="test-report-rspec"></a>

O procedimento a seguir demonstra como configurar relatórios de teste no AWS CodeBuild com a [estrutura de trabalho de teste RSpec](https://rspec.info/). 

O procedimento requer os seguintes pré-requisitos:
+ Você tem um projeto do CodeBuild.
+ O projeto é um projeto Ruby configurado para usar a estrutura de trabalho de teste RSpec.

Adicione/atualize o seguinte no arquivo `buildspec.yml`. Esse código executa os testes no diretório *<diretório de origem de teste>* e exporta os relatórios de teste para o arquivo especificado por *<diretório de relatórios de teste>*/*<nome de arquivo do relatório>*. O relatório usa o formato `JunitXml`.

```
version: 0.2

phases:
  install:
    runtime-versions:
      ruby: 2.6
  pre_build:
    commands:
      - gem install rspec
      - gem install rspec_junit_formatter
  build:
    commands:
      - rspec <test source directory>/* --format RspecJunitFormatter --out <test report directory>/<report filename>
reports:
    rspec_reports:
        files:
            - <report filename>
        base-directory: <test report directory>
        file-format: JUNITXML
```

# Visualizar relatórios de teste
<a name="test-view-reports"></a>

 Você pode visualizar detalhes sobre um relatório de teste, como informações sobre seus casos de teste, números de aprovação e reprovação e quanto tempo levou para que ele fosse executado. Você pode visualizar relatórios de teste agrupados por execução de compilação, grupo de relatórios ou sua AWS conta. Escolha um relatório de teste no console para exibir os detalhes e resultados dos seus casos de teste. 

 É possível visualizar os relatórios de teste de exibição que não estão expirados. Os relatórios de teste expiram 30 dias após sua criação. Não é possível visualizar um relatório expirado no CodeBuild. 

**Topics**
+ [

# Visualizar relatórios de teste para uma compilação
](test-view-project-reports.md)
+ [

# Visualizar relatórios de teste para um grupo de relatórios
](test-view-report-group-reports.md)
+ [

# Visualize relatórios de teste em sua AWS conta
](test-view-account-reports.md)

# Visualizar relatórios de teste para uma compilação
<a name="test-view-project-reports"></a>

**Como visualizar relatórios de teste para uma compilação**

1. Abra o AWS CodeBuild console em [https://console.aws.amazon.com/codesuite/codebuild/home](https://console.aws.amazon.com/codesuite/codebuild/home).

1.  Localize a compilação que deseja visualizar. Se você souber o projeto que executou a compilação que criou o relatório de teste: 

   1.  No painel de navegação, escolha **Build projects (Projetos de compilação)** e selecione o projeto com a compilação que executou o relatório de teste que você deseja visualizar. 

   1.  Escolha **Build history (Histórico de compilação)** e a compilação executada que criou os relatórios que você deseja visualizar. 

    Você também pode localizar a compilação no histórico de compilação da sua conta da AWS : 

   1.  No painel de navegação, escolha **Build history (Histórico de compilação)** e a compilação que criou os relatórios de teste que você deseja visualizar. 

1. Na página de compilação, escolha **Reports (Relatórios)** e escolha um relatório de teste para exibir detalhes.

# Visualizar relatórios de teste para um grupo de relatórios
<a name="test-view-report-group-reports"></a>

**Como visualizar relatórios de teste em um grupo de relatórios**

1. Abra o AWS CodeBuild console em [https://console.aws.amazon.com/codesuite/codebuild/home](https://console.aws.amazon.com/codesuite/codebuild/home).

1.  No painel de navegação, escolha **Grupos de relatórios**.

1. Escolha o grupo de relatórios que contém os relatórios de teste que você deseja visualizar. 

1.  Escolha um relatório de teste para exibir detalhes. 

# Visualize relatórios de teste em sua AWS conta
<a name="test-view-account-reports"></a>



**Para ver os relatórios de teste em sua AWS conta**

1. Abra o AWS CodeBuild console em [https://console.aws.amazon.com/codesuite/codebuild/home](https://console.aws.amazon.com/codesuite/codebuild/home).

1.  No painel de navegação, selecione **Report history (Histórico de relatórios)**. 

1.  Escolha um relatório de teste para exibir detalhes. 

# Permissões de relatório de teste
<a name="test-permissions"></a>

 Este tópico descreve informações importantes sobre permissões relativas aos relatórios de testes. 

**Topics**
+ [

## Perfil do IAM para relatórios de testes
](#test-permissions-required)
+ [

## Permissões para operações de relatórios de testes
](#test-permissions-related-to-reporting)
+ [

## Exemplos de permissões de relatórios de testes
](#test-permissions-examples)

## Perfil do IAM para relatórios de testes
<a name="test-permissions-required"></a>

Para executar um relatório de teste e atualizar um projeto para incluir relatórios de teste, sua função do IAM requer as seguintes permissões. Essas permissões estão incluídas nas políticas AWS gerenciadas predefinidas. Caso pretenda adicionar relatórios de teste a um projeto de compilação existente, é necessário adicionar essas permissões por conta própria.
+ `CreateReportGroup` 
+ `CreateReport` 
+ `UpdateReport` 
+ `BatchPutTestCases` 

Para gerar um relatório de cobertura de código, o perfil do IAM também deve incluir a permissão `BatchPutCodeCoverages`.

**nota**  
`BatchPutTestCases`, `CreateReport`, `UpdateReport` e `BatchPutCodeCoverages` não são permissões públicas. Você não pode chamar um AWS CLI comando ou método SDK correspondente para essas permissões. 

Para verificar se você tem essas permissões, é possível anexar a seguinte política ao perfil do IAM: 

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

Recomendamos que você restrinja essa política apenas aos grupos de relatórios que você precisa usar. O seguinte restringe as permissões somente aos grupos de relatórios com os dois ARNs na política: 

```
{
    "Effect": "Allow",
    "Resource": [
        "arn:aws:codebuild:your-region:your-aws-account-id:report-group/report-group-name-1",
        "arn:aws:codebuild:your-region:your-aws-account-id:report-group/report-group-name-2"
    ],
    "Action": [
        "codebuild:CreateReportGroup",
        "codebuild:CreateReport",
        "codebuild:UpdateReport",
        "codebuild:BatchPutTestCases",
        "codebuild:BatchPutCodeCoverages"
    ]
}
```

As opções a seguir restringem permissões apenas para grupos de relatórios criados pela execução de compilações de um projeto chamado `my-project`: 

```
{
    "Effect": "Allow",
    "Resource": [
        "arn:aws:codebuild:your-region:your-aws-account-id:report-group/my-project-*"
    ],
    "Action": [
        "codebuild:CreateReportGroup",
        "codebuild:CreateReport",
        "codebuild:UpdateReport",
        "codebuild:BatchPutTestCases",
        "codebuild:BatchPutCodeCoverages"
    ]
}
```

**nota**  
A função CodeBuild de serviço especificada no projeto é usada para obter permissões de upload para o bucket do S3.

## Permissões para operações de relatórios de testes
<a name="test-permissions-related-to-reporting"></a>

 Você pode especificar permissões para as seguintes operações da CodeBuild API de relatórios de teste: 
+  `BatchGetReportGroups` 
+  `BatchGetReports` 
+  `CreateReportGroup` 
+  `DeleteReportGroup` 
+  `DeleteReport` 
+  `DescribeTestCases` 
+  `ListReportGroups` 
+  `ListReports` 
+  `ListReportsForReportGroup` 
+  `UpdateReportGroup` 

Para obter mais informações, consulte [AWS CodeBuild referência de permissões](auth-and-access-control-permissions-reference.md).

## Exemplos de permissões de relatórios de testes
<a name="test-permissions-examples"></a>

 Para obter informações sobre políticas de exemplo relativas aos relatórios de testes, consulte o seguinte: 
+  [Permitir que um usuário altere um grupo de relatórios](auth-and-access-control-iam-identity-based-access-control.md#customer-managed-policies-example-change-report-group) 
+  [Permitir que um usuário crie um grupo de relatórios](auth-and-access-control-iam-identity-based-access-control.md#customer-managed-policies-example-create-report-group) 
+  [Permitir que um usuário exclua um relatório](auth-and-access-control-iam-identity-based-access-control.md#customer-managed-policies-example-delete-report) 
+  [Permitir que um usuário exclua um grupo de relatórios](auth-and-access-control-iam-identity-based-access-control.md#customer-managed-policies-example-delete-report-group) 
+  [Permitir que um usuário obtenha informações sobre grupos de relatórios](auth-and-access-control-iam-identity-based-access-control.md#customer-managed-policies-get-information-about-report-group) 
+  [Permitir que um usuário obtenha informações sobre relatórios](auth-and-access-control-iam-identity-based-access-control.md#customer-managed-policies-get-information-about-reports) 
+  [Permitir que um usuário obtenha uma lista de grupos de relatórios](auth-and-access-control-iam-identity-based-access-control.md#customer-managed-policies-example-get-list-of-report-groups) 
+  [Permitir que um usuário obtenha uma lista de relatórios](auth-and-access-control-iam-identity-based-access-control.md#customer-managed-policies-example-get-list-of-reports) 
+  [Permitir que um usuário obtenha uma lista de relatórios para um grupo de relatórios](auth-and-access-control-iam-identity-based-access-control.md#customer-managed-policies-example-get-list-of-reports-for-report-group) 
+  [Permitir que um usuário obtenha uma lista de casos de teste para um relatório](auth-and-access-control-iam-identity-based-access-control.md#customer-managed-policies-example-get-list-of-test-cases-for-report) 

# Status do relatório de teste
<a name="test-report"></a>

O status de um relatório de teste pode ser um dos seguintes:
+ `GENERATING`: a execução dos casos de teste ainda está em andamento.
+ `DELETING`: o relatório de teste está sendo excluído. Quando um relatório de teste é excluído, seus casos de teste também são excluídos. Os arquivos de dados de resultado de teste bruto exportados para um bucket do S3 não são excluídos.
+ `INCOMPLETE`: o relatório de teste não foi concluído. Esse status pode ser retornado por um dos seguintes motivos:
  + Um problema com a configuração do grupo de relatórios que especifica os casos de teste deste relatório. Por exemplo, o caminho para os casos de teste no grupo de relatórios do arquivo buildspec pode estar incorreto.
  + O usuário do IAM que executou a compilação não tem permissões para executar testes. Para obter mais informações, consulte [Permissões de relatório de teste](test-permissions.md).
  + A compilação não foi concluída devido a um erro que não está relacionado aos testes.
+ `SUCCEEDED`: todos os casos de teste foram bem-sucedidos.
+ `FAILED`: alguns casos de teste não foram bem-sucedidos.

Cada caso de teste retorna um status. O status de um caso de teste pode ser um dos seguintes:
+ `SUCCEEDED`: o caso de teste foi aprovado.
+ `FAILED`: ocorreu uma falha no caso de teste.
+ `ERROR`: ocorreu um erro inesperado no caso de teste.
+ `SKIPPED`: o caso de teste não foi executado.
+ `UNKNOWN`: o caso de teste retornou um status diferente de `SUCCEEDED`, `FAILED`, `ERROR` ou `SKIPPED`.

Um relatório de teste pode ter, no máximo, 500 resultados de caso de teste. Se mais de 500 casos de teste forem executados, CodeBuild priorizará os testes com o status `FAILED` e truncará os resultados do caso de teste. 