Webux Lab

Par Studio Webux

Exporter le coverage sur codebuild avec Jest

TG
Tommy Gingras Studio Webux S.E.N.C 2021-10-27

Exporter les tests coverage de jest sur codebuild

Cet article est la suite de jest-junit, le contenu est très similaire Jest JUNIT

Commandes

Dans chaque module, lancer les commandes suivantes

npm install --save-dev jest jest-junit

Configurer Jest:

cat <<EOF > ./jest.config.js
// jest.config.js

module.exports = {
  testTimeout: 30000,
  reporters: [
    'default',
    [
      'jest-junit',
      {
        outputDirectory: './reports',
        outputName: 'test.xml',
      },
    ],
  ],
};
EOF

Puis ajouter dans votre fichier .gitignore, le répertoire reports/ & coverage/

Exemple avec CodeBuild et AWS

Créer le fichier buildspec:

cat <<EOF > ./buildspec.yml
version: 0.2

phases:
  install:
    commands:
      # Install all dependencies (including dependencies for running tests)
      - npm install
  pre_build:
    commands:
      - npm run lint
      - npm run test
      - npm run audit
      # Remove all dependencies not needed for the Lambda deployment package (the packages from devDependencies in package.json)
      - npm prune --production
  build:
    commands:
      # Use AWS SAM to package the application by using AWS CloudFormation
      - aws cloudformation package --template template.yml --s3-bucket $S3_BUCKET --output-template template-export.yml

reports:
  jest_reports:
    files:
      - test.xml
    file-format: JUNITXML
    base-directory: reports/
  jest_coverage:
    files:
      - clover.xml
    file-format: CLOVERXML
    base-directory: coverage/

artifacts:
  type: zip
  files:
    - template-export.yml
EOF

Si vous utilisez un monorepo:

reports:
  jest_reports:
    files:
      - test.xml
    file-format: JUNITXML
    base-directory: "**/reports/"
  jest_reports:
    files:
      - clover.xml
    file-format: CLOVERXML
    base-directory: "**/coverage/"
    discard-paths: no
Exemple de test coverage généré avec CodeBuild

TODO

Les permissions IAMs

Source


Recherche