Vai al contenuto principale
{ "message": "Versione: 30.0", "description": "" }

Piattaforma Jest

Traduzione Beta Non Ufficiale

Questa pagina è stata tradotta da PageTurner AI (beta). Non ufficialmente approvata dal progetto. Hai trovato un errore? Segnala problema →

Puoi selezionare specifiche funzionalità di Jest e utilizzarle come pacchetti autonomi. Ecco un elenco dei pacchetti disponibili:

jest-changed-files

Strumento per identificare file modificati in un repository git/hg. Esporta due funzioni:

  • getChangedFilesForRoots restituisce una promessa che si risolve in un oggetto contenente i file modificati e i repository.

  • findRepos restituisce una promessa che si risolve in un insieme di repository presenti nel percorso specificato.

Esempio

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

Puoi leggere ulteriori informazioni su jest-changed-files nel file readme.

jest-diff

Strumento per visualizzare le modifiche nei dati. Esporta una funzione che confronta due valori di qualsiasi tipo e restituisce una stringa "formattata" che illustra la differenza tra i due argomenti.

Esempio

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

Strumento per estrarre e analizzare i commenti all'inizio di un file JavaScript. Esporta varie funzioni per manipolare i dati all'interno del blocco di commenti.

Esempio

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

Puoi leggere ulteriori informazioni su jest-docblock nel file readme.

jest-get-type

Modulo che identifica il tipo primitivo di qualsiasi valore JavaScript. Esporta una funzione che restituisce una stringa con il tipo del valore passato come argomento.

Esempio

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

Strumento per convalidare le configurazioni inviate dagli utenti. Esporta una funzione che accetta due argomenti: la configurazione dell'utente e un oggetto contenente una configurazione di esempio e altre opzioni. Il valore restituito è un oggetto con due attributi:

  • hasDeprecationWarnings, un booleano che indica se la configurazione inviata presenta avvisi di deprecazione,

  • isValid, un booleano che indica se la configurazione è corretta o meno.

Esempio

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

Puoi leggere ulteriori informazioni su jest-validate nel file readme.

jest-worker

Modulo utilizzato per parallelizzare le attività. Esporta una classe JestWorker che accetta il percorso di un modulo Node.js e permette di chiamare i metodi esportati dal modulo come se fossero metodi di classe, restituendo una promessa che si risolve quando il metodo specificato completa la sua esecuzione in un processo forkato.

Esempio

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

Puoi leggere ulteriori informazioni su jest-worker nel file readme.

pretty-format

Esporta una funzione che converte qualsiasi valore JavaScript in una stringa leggibile. Supporta tutti i tipi JavaScript integrati out-of-the-box e consente l'estensione per tipi specifici dell'applicazione tramite plugin definiti dall'utente.

Esempio

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

Puoi leggere ulteriori informazioni su pretty-format nel file readme.