Jest-Plattform
Diese Seite wurde von PageTurner AI übersetzt (Beta). Nicht offiziell vom Projekt unterstützt. Fehler gefunden? Problem melden →
Du kannst einzelne Funktionen von Jest auswählen und als eigenständige Pakete nutzen. Hier ist eine Liste der verfügbaren Pakete:
jest-changed-files
Werkzeug zur Identifizierung geänderter Dateien in einem Git/Hg-Repository. Exportiert zwei Funktionen:
-
getChangedFilesForRootsgibt ein Promise zurück, das zu einem Objekt mit geänderten Dateien und Repositories aufgelöst wird. -
findReposgibt ein Promise zurück, das zu einer Menge von Repositories im angegebenen Pfad aufgelöst wird.
Beispiel
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));
Weitere Informationen zu jest-changed-files findest du in der README-Datei.
jest-diff
Werkzeug zur Visualisierung von Datenänderungen. Exportiert eine Funktion, die zwei Werte beliebigen Typs vergleicht und einen "pretty-printed" String zurückgibt, der die Unterschiede zwischen beiden Argumenten darstellt.
Beispiel
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
Werkzeug zum Extrahieren und Parsen der Kommentare am Anfang einer JavaScript-Datei. Exportiert verschiedene Funktionen zur Bearbeitung der Daten innerhalb des Kommentarblocks.
Beispiel
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);
Weitere Informationen zu jest-docblock findest du in der README-Datei.
jest-get-type
Modul zur Identifizierung des primitiven Typs eines JavaScript-Werts. Exportiert eine Funktion, die einen String mit dem Typ des übergebenen Werts zurückgibt.
Beispiel
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
Werkzeug zur Validierung von Benutzerkonfigurationen. Exportiert eine Funktion mit zwei Argumenten: der Benutzerkonfiguration und einem Objekt mit Beispielkonfiguration und Optionen. Der Rückgabewert ist ein Objekt mit zwei Attributen:
-
hasDeprecationWarnings, ein Boolean, der anzeigt, ob die Konfiguration Veraltungswarnungen enthält, -
isValid, ein Boolean, der anzeigt, ob die Konfiguration korrekt ist.
Beispiel
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);
Weitere Informationen zu jest-validate findest du in der README-Datei.
jest-worker
Modul zur Parallelisierung von Aufgaben. Exportiert eine Klasse JestWorker, die den Pfad eines Node.js-Moduls nimmt und das Aufrufen der exportierten Modulmethoden wie Klassenmethoden ermöglicht. Gibt ein Promise zurück, das aufgelöst wird, wenn die Methode in einem geforkten Prozess abgeschlossen ist.
Beispiel
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();
Weitere Informationen zu jest-worker findest du in der README-Datei.
pretty-format
Exportiert eine Funktion, die JavaScript-Werte in lesbare Strings umwandelt. Unterstützt alle eingebauten JavaScript-Typen und ermöglicht die Erweiterung für anwendungsspezifische Typen via benutzerdefinierter Plugins.
Beispiel
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));
Weitere Informationen zu pretty-format findest du in der README-Datei.