Ir para o conteúdo principal
Versão: 29.7

Plataforma Jest

Tradução Beta Não Oficial

Esta página foi traduzida por PageTurner AI (beta). Não é oficialmente endossada pelo projeto. Encontrou um erro? Reportar problema →

Você pode selecionar recursos específicos do Jest e usá-los como pacotes independentes. Aqui está a lista dos pacotes disponíveis:

jest-changed-files

Ferramenta para identificar arquivos modificados em repositórios git/hg. Exporta duas funções:

  • getChangedFilesForRoots retorna uma promise que resolve para um objeto com os arquivos modificados e repositórios.

  • findRepos retorna uma promise que resolve para um conjunto de repositórios contidos no caminho especificado.

Exemplo

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

Você pode saber mais sobre jest-changed-files no arquivo readme.

jest-diff

Ferramenta para visualizar alterações em dados. Exporta uma função que compara dois valores de qualquer tipo e retorna uma string formatada ("pretty-printed") ilustrando a diferença entre os argumentos.

Exemplo

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

Ferramenta para extrair e analisar comentários no topo de arquivos JavaScript. Exporta várias funções para manipular dados dentro do bloco de comentários.

Exemplo

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

Você pode saber mais sobre jest-docblock no arquivo readme.

jest-get-type

Módulo que identifica o tipo primitivo de qualquer valor JavaScript. Exporta uma função que retorna uma string com o tipo do valor passado como argumento.

Exemplo

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

Ferramenta para validar configurações enviadas por usuários. Exporta uma função que recebe dois argumentos: a configuração do usuário e um objeto contendo uma configuração exemplo e outras opções. O valor de retorno é um objeto com dois atributos:

  • hasDeprecationWarnings, um booleano indicando se a configuração possui alertas de depreciação,

  • isValid, um booleano indicando se a configuração está correta ou não.

Exemplo

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

Você pode saber mais sobre jest-validate no arquivo readme.

jest-worker

Módulo usado para paralelização de tarefas. Exporta a classe JestWorker que recebe o caminho de um módulo Node.js e permite chamar seus métodos exportados como se fossem métodos de classe, retornando uma promise que resolve quando o método especificado conclui sua execução em um processo fork.

Exemplo

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

Você pode saber mais sobre jest-worker no arquivo readme.

pretty-format

Exporta uma função que converte qualquer valor JavaScript em uma string legível. Suporta todos os tipos JavaScript nativos imediatamente e permite extensão para tipos específicos de aplicação via plugins definidos pelo usuário.

Exemplo

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

Você pode saber mais sobre pretty-format no arquivo readme.