Piattaforma Jest
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:
-
getChangedFilesForRootsrestituisce una promessa che si risolve in un oggetto contenente i file modificati e i repository. -
findReposrestituisce 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
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();
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.