Plateforme Jest
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 :
-
getChangedFilesForRootsrenvoie une promesse qui se résout en un objet contenant les fichiers modifiés et les dépôts. -
findReposrenvoie 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
module.exports = {
myHeavyTask: args => {
// long running CPU intensive task.
},
};
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.