Pełna komenda, aby uruchomić pojedynczy test Jest
Komenda:
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
- Inne:
node_modules/.bin/jest
-i <you-test-file>
: ścieżka do pliku z testami ( js
lub ts
)
-c <jest-config>
: ścieżka do osobnego pliku konfiguracyjnego Jest (JSON), jeśli zachowasz konfigurację Jest package.json
, nie musisz określać tego parametru (Jest on znaleziony bez Twojej pomocy)
-t <the-name-of-test-block>
: W rzeczywistości jest to nazwa (pierwszy parametr) z describe(...)
, it(...)
lub test(...)
bloku.
Przykład:
describe("math tests", () => {
it("1 + 1 = 2", () => {
expect(1 + 1).toBe(2);
});
it("-1 * -1 !== -1", () => {
expect(-1 * -1).not.toBe(-1);
});
});
Więc polecenie
node node_modules/jest/bin/jest.js -i test/math-tests.js -c test/tests-config.json -t "1 + 1 = 2"
przetestuje it("1 + 1 = 2", ...)
, ale jeśli zmienisz -t
parametr na "math tests"
, uruchomi oba testy z describe("math tests",...)
bloku.
Uwagi:
- Dla Windows zastąpić
node_modules/.bin/jest
z node_modules\jest\bin\jest.js
.
- To podejście umożliwia debugowanie działającego skryptu. Aby włączyć debugowanie, dodaj
'--inspect-brk'
parametr do polecenia.
Uruchamianie pojedynczego testu Jest za pomocą skryptów NPM w pakiecie.json
Po zainstalowaniu Jest możesz uprościć składnię tego polecenia (powyżej) za pomocą skryptów NPM . W "package.json"
dodać nowy skrypt do "scripts"
sekcji:
"scripts": {
"test:math": "jest -i test/my-tests.js -t \"math tests\"",
}
W takim przypadku używamy aliasu 'jest'
zamiast pisać pełną ścieżkę do niego. Nie określamy również ścieżki do pliku konfiguracyjnego, ponieważ możemy go również umieścić, "package.json"
a Jest to domyślnie sprawdzone. Teraz możesz uruchomić polecenie:
npm run test:math
i "math tests"
blok z dwoma testami zostanie wykonany. Lub, oczywiście, możesz określić jeden konkretny test według jego nazwy.
Inną opcją byłoby wyciągnięcie <the-name-of-test-block>
parametru poza "test:math"
skrypt i przekazanie go z komendy NPM:
package.json:
"scripts": {
"test:math": "jest -i test/my-tests.js -t",
}
Komenda:
npm run test:math "math tests"
Teraz możesz zarządzać nazwą testu (-ów) uruchamiania przy użyciu znacznie krótszej komendy.
Uwagi:
'jest'
Komenda zadziała ze skryptami KMP ponieważ
npm dokonuje "./node_modules/.bin"
pierwszego wpisu w PATH
zmiennej środowiskowej podczas uruchamiania dowolnych skryptów cyklu życia, więc będzie działać dobrze, nawet jeśli twój program nie jest zainstalowany globalnie ( blog NPM )
- Wydaje się, że to podejście nie pozwala na debugowanie, ponieważ Jest uruchamiany przez jego binarny / CLI , a nie przez
node
.
Uruchamianie wybranego testu Jest w programie Visual Studio Code
Jeśli korzystasz z programu Visual Studio Code, możesz z niego skorzystać i uruchomić aktualnie wybrany test (w edytorze kodu), naciskając F5
przycisk. Aby to zrobić, musimy utworzyć nowy blok konfiguracji uruchamiania w ".vscode/launch.json"
pliku. W tej konfiguracji użyjemy predefiniowanych zmiennych, które zostaną podstawione odpowiednimi (niestety nie zawsze ) wartościami podczas działania. Ze wszystkich dostępnych interesują nas tylko:
${relativeFile}
- aktualnie otwarty plik w stosunku do
${workspaceFolder}
${selectedText}
- aktualnie wybrany tekst w aktywnym pliku
Ale przed wypisaniem konfiguracji uruchamiania powinniśmy dodać 'test'
skrypt do naszego 'package.json'
(jeśli jeszcze go nie mamy).
package.json:
"scripts": {
"test": "jest"
}
wtedy możemy go użyć w konfiguracji uruchamiania.
Uruchom konfigurację:
{
"type": "node",
"request": "launch",
"name": "Run selected Jest test",
"runtimeExecutable": "npm",
"runtimeArgs": [
"run-script",
"test"
],
"args": [
"--",
"-i",
"${relativeFile}",
"-t",
"${selectedText}"
],
"console": "integratedTerminal",
}
faktycznie robi to samo, co polecenia opisane wcześniej w tej odpowiedzi. Teraz, gdy wszystko jest gotowe, możemy uruchomić dowolny test bez konieczności ręcznego przepisywania parametrów polecenia.
Oto wszystko, co musisz zrobić:
- Wybierz aktualnie utworzoną konfigurację uruchamiania w panelu debugowania:
- Otwórz plik z testami w edytorze kodu i wybierz nazwę testu, który chcesz przetestować (bez cudzysłowu):
- Naciśnij
'F5'
przycisk
I voila!
Teraz, aby uruchomić dowolny test, po prostu otwórz go w edytorze, wybierz jego nazwę i naciśnij F5.
Niestety, nie będzie to „voila” na komputerach z systemem Windows, ponieważ zastępują one (kto wie dlaczego) ${relativeFile}
zmienną ścieżką z odwróconymi ukośnikami i Jest to ścieżka nie zrozumiana.
Uwagi:
- Aby uruchomić w ramach debugera, nie zapomnij dodać
'--inspect-brk'
parametru.
- W tym przykładzie konfiguracji nie mamy parametru konfiguracyjnego Jest, zakładając, że jest on uwzględniony
'package.json'
.