

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á.

# 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
```