Saltar al contenido principal
Versión: 29.7

Plataforma Jest

Traducción Beta No Oficial

Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →

Puedes seleccionar características específicas de Jest y usarlas como paquetes independientes. Esta es la lista de paquetes disponibles:

jest-changed-files

Herramienta para identificar archivos modificados en repositorios git/hg. Exporta dos funciones:

  • getChangedFilesForRoots retorna una promesa que resuelve en un objeto con los archivos modificados y repositorios.

  • findRepos retorna una promesa que resuelve en un conjunto de repositorios contenidos en la ruta especificada.

Ejemplo

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));

Puedes obtener más información sobre jest-changed-files en el archivo README.

jest-diff

Herramienta para visualizar cambios en datos. Exporta una función que compara dos valores de cualquier tipo y retorna un string formateado ("pretty-printed") que ilustra la diferencia entre ambos argumentos.

Ejemplo

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

Herramienta para extraer y analizar comentarios al inicio de archivos JavaScript. Exporta varias funciones para manipular datos dentro de bloques de comentarios.

Ejemplo

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);

Puedes obtener más información sobre jest-docblock en el archivo README.

jest-get-type

Módulo que identifica el tipo primitivo de cualquier valor JavaScript. Exporta una función que retorna un string con el tipo del valor pasado como argumento.

Ejemplo

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

Herramienta para validar configuraciones proporcionadas por usuarios. Exporta una función que toma dos argumentos: la configuración del usuario y un objeto con configuración de ejemplo y otras opciones. El valor retornado es un objeto con dos atributos:

  • hasDeprecationWarnings, booleano que indica si la configuración tiene advertencias de desuso,

  • isValid, booleano que indica si la configuración es correcta o no.

Ejemplo

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);

Puedes obtener más información sobre jest-validate en el archivo README.

jest-worker

Módulo para paralelización de tareas. Exporta una clase JestWorker que toma la ruta de un módulo Node.js y permite invocar sus métodos exportados como métodos de clase, retornando una promesa que resuelve cuando el método especificado termina su ejecución en un proceso bifurcado.

Ejemplo

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();

Puedes obtener más información sobre jest-worker en el archivo README.

pretty-format

Exporta una función que convierte cualquier valor JavaScript en un string legible. Soporta todos los tipos nativos de JavaScript inmediatamente y permite extenderlo para tipos específicos mediante plugins definidos por el usuario.

Ejemplo

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));

Puedes obtener más información sobre pretty-format en el archivo README.