

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

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

Les rubriques de cette section montrent comment configurer les rapports de test dans AWS CodeBuild différents frameworks de test.

**Topics**
+ [Configurer les rapports de test avec Jasmine](test-report-jasmine.md)
+ [Configurer les rapports de test avec Jest](test-report-jest.md)
+ [Configurer les rapports de test avec pytest](test-report-pytest.md)
+ [Configurez les rapports de test avec RSpec](test-report-rspec.md)

# Configurer les rapports de test avec Jasmine
<a name="test-report-jasmine"></a>

La procédure suivante explique comment configurer les rapports de test dans le framework AWS CodeBuild de test [JasmineBDD](http://jasmine.github.io/). 

La procédure nécessite les conditions préalables suivantes :
+ Vous avez un CodeBuild projet existant.
+ Votre projet est un projet Node.js qui est configuré pour utiliser le cadre de test Jasmine.

Ajoutez le package [https://www.npmjs.com/package/jasmine-reporters](https://www.npmjs.com/package/jasmine-reporters) à la section `devDependencies` du fichier `package.json` de votre projet. Ce paquet contient une collection de classes de JavaScript reporter qui peuvent être utilisées avec Jasmine. 

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

S'il n'est pas déjà présent, ajoutez le script `test` au fichier `package.json` de votre projet. Le `test` script garantit que Jasmine est appelée lors de **npm test** son exécution.

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

CodeBuild prend en charge les reporters de test Jasmine suivants :

**JUnitXmlReporter**  
Permet de générer des rapports au format `JunitXml`.

**NUnitXmlReporter**  
Permet de générer des rapports au format `NunitXml`.

Un projet Node.js avec Jasmine aura, par défaut, un sous-répertoire `spec`, qui contient la configuration de Jasmine et les scripts de test. 

Pour configurer Jasmine pour générer des rapports au `JunitXML` format, instanciez le `JUnitXmlReporter` rapporteur en ajoutant le code suivant à vos tests. 

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

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

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

Pour configurer Jasmine pour générer des rapports au `NunitXML` format, instanciez le `NUnitXmlReporter` rapporteur en ajoutant le code suivant à vos tests. 

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

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

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

Les rapports de test sont exportés vers le fichier spécifié par*<test report directory>*/*<report filename>*.

Dans votre fichier `buildspec.yml`, ajouter/mettez à jour les sections suivantes.

```
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 vous utilisez le format de rapport `NunitXml`, modifiez la valeur `file-format` comme suit.

```
    file-format: NUNITXML
```

# Configurer les rapports de test avec Jest
<a name="test-report-jest"></a>

La procédure suivante explique comment configurer les rapports de test dans le [framework AWS CodeBuild de test Jest](https://jestjs.io/). 

La procédure nécessite les conditions préalables suivantes :
+ Vous avez un CodeBuild projet existant.
+ Votre projet est un projet Node.js qui est configuré pour utiliser le cadre de test Jest.

Ajoutez le [https://www.npmjs.com/package/jest-junit](https://www.npmjs.com/package/jest-junit)package à la `devDependencies` section du `package.json` fichier de votre projet. CodeBuild utilise ce package pour générer des rapports au `JunitXml` format.

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

S'il n'est pas déjà présent, ajoutez le script `test` au fichier `package.json` de votre projet. Le `test` script garantit que Jest est appelé lors **npm test** de son exécution.

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

Configurez Jest pour utiliser le reporter `JunitXml` en ajoutant ce qui suit à votre fichier de configuration Jest. Si votre projet ne possède pas de fichier de configuration Jest, créez un fichier nommé `jest.config.js` à la racine de votre projet et ajoutez ce qui suit. Les rapports de test sont exportés vers le fichier spécifié par*<test report directory>*/*<report filename>*.

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

Dans votre fichier `buildspec.yml`, ajouter/mettez à jour les sections suivantes.

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

# Configurer les rapports de test avec pytest
<a name="test-report-pytest"></a>

La procédure suivante montre comment configurer les rapports de test dans le [framework AWS CodeBuild de test pytest](https://docs.pytest.org/). 

La procédure nécessite les conditions préalables suivantes :
+ Vous avez un CodeBuild projet existant.
+ Votre projet est un projet Python qui est configuré pour utiliser le cadre de test pytest.

Ajoutez l'entrée suivante à la phase `build` ou `post_build` de votre fichier `buildspec.yml`. Ce code découvre automatiquement les tests dans le répertoire en cours et exporte les rapports de test vers le fichier spécifié par*<test report directory>*/*<report filename>*. Le rapport utilise le format `JunitXml`.

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

Dans votre fichier `buildspec.yml`, ajouter/mettez à jour les sections suivantes.

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

# Configurez les rapports de test avec RSpec
<a name="test-report-rspec"></a>

La procédure suivante explique comment configurer les rapports de test dans AWS CodeBuild le [cadre de RSpec test](https://rspec.info/). 

La procédure nécessite les conditions préalables suivantes :
+ Vous avez un CodeBuild projet existant.
+ Votre projet est un projet Ruby configuré pour utiliser le framework de RSpec test.

Ajoutez/mettez à jour ce qui suit dans votre fichier `buildspec.yml`. Ce code exécute les tests dans le *<test source directory>* répertoire et exporte les rapports de test vers le fichier spécifié par*<test report directory>*/*<report filename>*. Le rapport utilise le format `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
```