Webux Lab

Par Studio Webux

Jest JUnit

TG
Tommy Gingras Studio Webux S.E.N.C 2021-05-18

Ajouter JUnit reporter avec Jest pour vos modules NodeJS

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/

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/

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

if using a monorepo:

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

Source


Recherche