

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Marcos de pruebas
<a name="test-framework-reporting"></a>

En los temas de esta sección se muestra cómo configurar los informes de pruebas AWS CodeBuild para varios marcos de prueba.

**Topics**
+ [Configurar generación de informes de pruebas con Jasmine](test-report-jasmine.md)
+ [Configurar generación de informes de pruebas con Jest](test-report-jest.md)
+ [Configurar generación de informes de pruebas con pytest](test-report-pytest.md)
+ [Configurar generación de informes de pruebas con RSpec](test-report-rspec.md)

# Configurar generación de informes de pruebas con Jasmine
<a name="test-report-jasmine"></a>

El siguiente procedimiento muestra cómo configurar generación de informes de prueba en AWS CodeBuild con el [marco de pruebas JasmineBDD](http://jasmine.github.io/). 

El procedimiento requiere los siguientes requisitos previos:
+ Debe tener un proyecto de CodeBuild existente.
+ Su proyecto es un proyecto Node.js que está configurado para usar el marco de pruebas de Jasmine.

Agregue el paquete [https://www.npmjs.com/package/jasmine-reporters](https://www.npmjs.com/package/jasmine-reporters) a la sección `devDependencies` del archivo `package.json` de su proyecto. Este paquete tiene una colección de clases de generador de informes de JavaScript que se pueden usar con Jasmine. 

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

Si todavía no está presente, agregue el script `test` al archivo `package.json` de su proyecto. El script `test` asegura que se llame a Jasmine cuando se ejecuta **npm test**.

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

CodeBuild es compatible con los siguientes generadores de informes de pruebas de Jasmine:

**JUnitXmlReporter**  
Se utiliza para generar informes en el formato `JunitXml`.

**NUnitXmlReporter**  
Se utiliza para generar informes en el formato `NunitXml`.

Un proyecto Node.js con Jasmine tendrá, de forma predeterminada, un subdirectorio `spec`, que contiene los scripts de configuración y prueba de Jasmine. 

Para configurar Jasmine para generar informes en el formato `JunitXML`, cree una instancia para el generador de informes `JUnitXmlReporter` agregando el siguiente código a las pruebas. 

```
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 Jasmine para generar informes en el formato `NunitXML`, cree una instancia para el generador de informes `NUnitXmlReporter` agregando el siguiente código a las pruebas. 

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

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

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

Los informes de pruebas se exportan al archivo especificado por *<directorio de informes de pruebas>*/*<nombre de archivo de pruebas>*.

En su archivo `buildspec.yml`, agregue y actualice las siguientes secciones.

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

Si utiliza el formato de informe `NunitXml`, cambie el valor `file-format` al siguiente.

```
    file-format: NUNITXML
```

# Configurar generación de informes de pruebas con Jest
<a name="test-report-jest"></a>

El siguiente procedimiento muestra cómo configurar generación de informes de pruebas en AWS CodeBuild con el [marco de pruebas de Jest](https://jestjs.io/). 

El procedimiento requiere los siguientes requisitos previos:
+ Debe tener un proyecto de CodeBuild existente.
+ Su proyecto es un proyecto Node.js que está configurado para usar el marco de pruebas de Jest.

Agregue el paquete [https://www.npmjs.com/package/jest-junit](https://www.npmjs.com/package/jest-junit) a la sección `devDependencies` del archivo `package.json` de su proyecto. CodeBuild utiliza este paquete para generar informes en el formato `JunitXml`.

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

Si todavía no está presente, agregue el script `test` al archivo `package.json` de su proyecto. El script `test` asegura que se llama a Jest al ejecutar **npm test**.

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

Configure Jest para usar el generador de informes `JunitXml` agregando lo siguiente al archivo de configuración de Jest. Si su proyecto no tiene un archivo de configuración de Jest, cree un archivo denominado `jest.config.js` en la raíz del proyecto y agregue lo siguiente. Los informes de pruebas se exportan al archivo especificado por *<directorio de informes de pruebas>*/*<nombre de archivo de pruebas>*.

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

En su archivo `buildspec.yml`, agregue y actualice las siguientes secciones.

```
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 generación de informes de pruebas con pytest
<a name="test-report-pytest"></a>

El siguiente procedimiento muestra cómo configurar informes de pruebas en AWS CodeBuild con el [marco de pruebas de pytest](https://docs.pytest.org/). 

El procedimiento requiere los siguientes requisitos previos:
+ Debe tener un proyecto de CodeBuild existente.
+ Su proyecto es un proyecto de Python que está configurado para usar el marco de pruebas de pytest.

Agregue la siguiente entrada a la fase `build` o `post_build` del archivo `buildspec.yml`. Este código detecta automáticamente las pruebas en el directorio actual y exporta los informes de pruebas al archivo especificado por *<directorio de informes de pruebas>*/*<nombre de archivo de informes>*. El informe utiliza el formato `JunitXml`.

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

En su archivo `buildspec.yml`, agregue y actualice las siguientes secciones.

```
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 generación de informes de pruebas con RSpec
<a name="test-report-rspec"></a>

El siguiente procedimiento muestra cómo configurar generación de informes de pruebas en AWS CodeBuild con el [marco de pruebas de RSpec](https://rspec.info/). 

El procedimiento requiere los siguientes requisitos previos:
+ Debe tener un proyecto de CodeBuild existente.
+ Su proyecto es un proyecto Ruby que está configurado para usar el marco de pruebas de RSpec.

Agregue y actualice lo siguiente en su archivo `buildspec.yml`. Este código ejecuta las pruebas en el directorio *<directorio de fuente de pruebas>* y exporta los informes de pruebas al archivo especificado por *<directorio de informes de pruebas>*/*<nombre de archivo del informe>*. El informe utiliza el 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
```