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 ( jslub 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 -tparametr na "math tests", uruchomi oba testy z describe("math tests",...)bloku.
Uwagi:
- Dla Windows zastąpić
node_modules/.bin/jestz 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 PATHzmiennej ś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 F5przycisk. 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'.