Aller au contenu principal
Version : Suivant

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.