Aller au contenu principal
Version : 29.7

Plateforme Jest

Traduction Bêta Non Officielle

Cette page a été traduite par PageTurner AI (bêta). Non approuvée officiellement par le projet. Vous avez trouvé une erreur ? Signaler un problème →

Vous pouvez sélectionner des fonctionnalités spécifiques de Jest et les utiliser comme packages autonomes. Voici la liste des packages disponibles :

jest-changed-files

Outil pour identifier les fichiers modifiés dans un dépôt git/hg. Exporte deux fonctions :

  • getChangedFilesForRoots renvoie une promesse qui se résout en un objet contenant les fichiers modifiés et les dépôts.

  • findRepos renvoie une promesse qui se résout en un ensemble de dépôts contenus dans le chemin spécifié.

Exemple

const {getChangedFilesForRoots} = require('jest-changed-files');

// print the set of modified files since last commit in the current repo
getChangedFilesForRoots(['./'], {
lastCommit: true,
}).then(result => console.log(result.changedFiles));

Vous pouvez en savoir plus sur jest-changed-files dans le fichier readme.

jest-diff

Outil pour visualiser les changements dans les données. Exporte une fonction qui compare deux valeurs de n'importe quel type et renvoie une chaîne formatée ("pretty-printed") illustrant la différence entre les deux arguments.

Exemple

const {diff} = require('jest-diff');

const a = {a: {b: {c: 5}}};
const b = {a: {b: {c: 6}}};

const result = diff(a, b);

// print diff
console.log(result);

jest-docblock

Outil pour extraire et analyser les commentaires en haut d'un fichier JavaScript. Exporte diverses fonctions pour manipuler les données à l'intérieur du bloc de commentaires.

Exemple

const {parseWithComments} = require('jest-docblock');

const code = `
/**
* This is a sample
*
* @flow
*/

console.log('Hello World!');
`;

const parsed = parseWithComments(code);

// prints an object with two attributes: comments and pragmas.
console.log(parsed);

Vous pouvez en savoir plus sur jest-docblock dans le fichier readme.

jest-get-type

Module qui identifie le type primitif de n'importe quelle valeur JavaScript. Exporte une fonction qui renvoie une chaîne indiquant le type de la valeur passée en argument.

Exemple

const {getType} = require('@jest/get-type');

const array = [1, 2, 3];
const nullValue = null;
const undefinedValue = undefined;

// prints 'array'
console.log(getType(array));
// prints 'null'
console.log(getType(nullValue));
// prints 'undefined'
console.log(getType(undefinedValue));

jest-validate

Outil pour valider les configurations soumises par les utilisateurs. Exporte une fonction qui prend deux arguments : la configuration de l'utilisateur et un objet contenant un exemple de configuration et d'autres options. La valeur de retour est un objet avec deux attributs :

  • hasDeprecationWarnings, un booléen indiquant si la configuration soumise comporte des avertissements de dépréciation,

  • isValid, un booléen indiquant si la configuration est correcte ou non.

Exemple

const {validate} = require('jest-validate');

const configByUser = {
transform: '<rootDir>/node_modules/my-custom-transform',
};

const result = validate(configByUser, {
comment: ' Documentation: http://custom-docs.com',
exampleConfig: {transform: '<rootDir>/node_modules/babel-jest'},
});

console.log(result);

Vous pouvez en savoir plus sur jest-validate dans le fichier readme.

jest-worker

Module utilisé pour la parallélisation des tâches. Exporte une classe JestWorker qui prend le chemin d'un module Node.js et vous permet d'appeler les méthodes exportées du module comme s'il s'agissait de méthodes de classe, renvoyant une promesse qui se résout lorsque la méthode spécifiée termine son exécution dans un processus forké.

Exemple

heavy-task.js
module.exports = {
myHeavyTask: args => {
// long running CPU intensive task.
},
};
main.js
async function main() {
const worker = new Worker(require.resolve('./heavy-task.js'));

// run 2 tasks in parallel with different arguments
const results = await Promise.all([
worker.myHeavyTask({foo: 'bar'}),
worker.myHeavyTask({bar: 'foo'}),
]);

console.log(results);
}

main();

Vous pouvez en savoir plus sur jest-worker dans le fichier readme.

pretty-format

Exporte une fonction qui convertit n'importe quelle valeur JavaScript en une chaîne lisible par un humain. Prend en charge tous les types JavaScript natifs immédiatement et permet l'extension pour des types spécifiques à l'application via des plugins définis par l'utilisateur.

Exemple

const {format: prettyFormat} = require('pretty-format');

const val = {object: {}};
val.circularReference = val;
val[Symbol('foo')] = 'foo';
val.map = new Map([['prop', 'value']]);
val.array = [-0, Infinity, NaN];

console.log(prettyFormat(val));

Vous pouvez en savoir plus sur pretty-format dans le fichier readme.