Vollständiger Befehl zum Ausführen eines einzelnen Scherztests
Befehl:
node <path-to-jest> -i <you-test-file> -c <jest-config> -t "<test-block-name>"
<path-to-jest>
::
- Windows:
node_modules\jest\bin\jest.js
- Andere:
node_modules/.bin/jest
-i <you-test-file>
: Pfad zur Datei mit Tests ( js
oder ts
)
-c <jest-config>
: Pfad zu einer separaten Jest-Konfigurationsdatei (JSON). Wenn Sie Ihre Jest-Konfiguration beibehalten, müssen package.json
Sie diesen Parameter nicht angeben (Jest findet ihn ohne Ihre Hilfe).
-t <the-name-of-test-block>
: Es ist eigentlich ein Name (der erste Parameter) von describe(...)
, it(...)
oder test(...)
Block.
Beispiel:
describe("math tests", () => {
it("1 + 1 = 2", () => {
expect(1 + 1).toBe(2);
});
it("-1 * -1 !== -1", () => {
expect(-1 * -1).not.toBe(-1);
});
});
Also der Befehl
node node_modules/jest/bin/jest.js -i test/math-tests.js -c test/tests-config.json -t "1 + 1 = 2"
wird getestet it("1 + 1 = 2", ...)
, aber wenn Sie den -t
Parameter auf ändern , "math tests"
werden beide Tests vom describe("math tests",...)
Block ausgeführt.
Bemerkungen:
- Für Windows ersetzen
node_modules/.bin/jest
durch node_modules\jest\bin\jest.js
.
- Mit diesem Ansatz können Sie das laufende Skript debuggen. Um das Debuggen zu aktivieren, fügen Sie
'--inspect-brk'
dem Befehl einen Parameter hinzu.
Ausführen eines einzelnen Scherztests über NPM-Skripte in 'package.json'
Wenn Sie Jest installiert haben, können Sie die Syntax dieses Befehls (oben) mithilfe von NPM-Skripten vereinfachen . In "package.json"
fügen Sie ein neues Skript zu dem "scripts"
Abschnitt:
"scripts": {
"test:math": "jest -i test/my-tests.js -t \"math tests\"",
}
In diesem Fall verwenden wir einen Alias, 'jest'
anstatt den vollständigen Pfad dorthin zu schreiben. Außerdem geben wir den Pfad der Konfigurationsdatei nicht an, da wir ihn "package.json"
auch einfügen können und Jest ihn standardmäßig überprüft. Jetzt können Sie den folgenden Befehl ausführen:
npm run test:math
und der "math tests"
Block mit zwei Tests wird ausgeführt. Natürlich können Sie einen bestimmten Test auch anhand seines Namens angeben.
Eine andere Möglichkeit wäre, den <the-name-of-test-block>
Parameter aus dem "test:math"
Skript zu ziehen und ihn vom NPM-Befehl zu übergeben:
package.json:
"scripts": {
"test:math": "jest -i test/my-tests.js -t",
}
Befehl:
npm run test:math "math tests"
Jetzt können Sie den Namen der Lauftests mit einem viel kürzeren Befehl verwalten.
Bemerkungen:
- Das
'jest'
Befehl funktioniert mit NPM-Skripten, weil
npm macht "./node_modules/.bin"
den ersten Eintrag in der PATH
Umgebungsvariablen, wenn Lebenszyklus-Skripte ausgeführt werden. Dies funktioniert also auch dann, wenn Ihr Programm nicht global installiert ist ( NPM-Blog ).
- Dieser Ansatz scheint das Debuggen nicht zuzulassen, da Jest über seine Binär- / CLI-Datei ausgeführt wird , nicht über
node
.
Ausführen des ausgewählten Scherztests in Visual Studio Code
Wenn Sie Visual Studio Code verwenden, können Sie diesen nutzen und den aktuell ausgewählten Test (im Code-Editor) ausführen, indem Sie die F5
Taste drücken. Dazu müssen wir einen neuen Startkonfigurationsblock in der ".vscode/launch.json"
Datei erstellen. In dieser Konfiguration werden vordefinierte Variablen verwendet, die beim Ausführen durch die entsprechenden (leider nicht immer ) Werte ersetzt werden. Von allen verfügbaren sind wir nur an folgenden interessiert:
${relativeFile}
- die aktuell geöffnete Datei relativ zu
${workspaceFolder}
${selectedText}
- der aktuell ausgewählte Text in der aktiven Datei
Aber bevor wir die Startkonfiguration schreiben, sollten wir das 'test'
Skript in unsere hinzufügen 'package.json'
(falls wir es noch nicht haben).
package.json:
"scripts": {
"test": "jest"
}
dann können wir es in unserer Startkonfiguration verwenden.
Konfiguration starten:
{
"type": "node",
"request": "launch",
"name": "Run selected Jest test",
"runtimeExecutable": "npm",
"runtimeArgs": [
"run-script",
"test"
],
"args": [
"--",
"-i",
"${relativeFile}",
"-t",
"${selectedText}"
],
"console": "integratedTerminal",
}
Es funktioniert tatsächlich genauso wie die zuvor in dieser Antwort beschriebenen Befehle. Nachdem alles fertig ist, können wir jeden gewünschten Test ausführen, ohne die Befehlsparameter manuell neu schreiben zu müssen.
Hier ist alles, was Sie tun müssen:
- Wählen Sie im Debug-Bereich die aktuell erstellte Startkonfiguration aus:
- Öffnen Sie die Datei mit Tests im Code-Editor und wählen Sie den Namen des Tests aus, den Sie testen möchten (ohne Anführungszeichen):
- Drücken Sie
'F5'
Taste.
Und voila!
Um nun einen beliebigen Test auszuführen, öffnen Sie ihn einfach im Editor, wählen Sie seinen Namen aus und drücken Sie F5.
Leider wird es auf Windows-Computern nicht "voila" sein, da sie (wer weiß warum) die ${relativeFile}
Variable durch den Pfad mit umgekehrten Schrägstrichen ersetzen und Jest einen solchen Pfad nicht verstehen würde.
Bemerkungen:
- Vergessen Sie nicht, den
'--inspect-brk'
Parameter hinzuzufügen, um unter dem Debugger ausgeführt zu werden.
- In diesem Konfigurationsbeispiel haben wir keinen Jest-Konfigurationsparameter, vorausgesetzt, er ist in enthalten
'package.json'
.