Skip to content

Latest commit

 

History

History
120 lines (77 loc) · 4.82 KB

watch-mode.md

File metadata and controls

120 lines (77 loc) · 4.82 KB

Tryb watch

Tłumaczenia: Français, Italiano, Русский, 简体中文

AVA jest wyposażony w inteligentny tryb watch. Sprawdza, czy pliki się zmieniają i uruchamia tylko te testy, których to dotyczy.

Uruchamianie testów z włączonym trybem watch

Możesz włączyć tryb watch za pomocą flag --watch lub -w. Jeśli zainstalowałeś AVA globalnie:

$ ava --watch

Jeśli skonfigurowałeś to w swoim package.json w ten sposób:

{
	"scripts": {
		"test": "ava"
	}
}

Możesz uruchomić:

$ npm test -- --watch

Możesz także skonfigurować specjalny skrypt:

{
	"scripts": {
		"test": "ava",
		"watch:test": "ava --watch"
	}
}

I wtedy użyć:

$ npm run watch:test

Na koniec możesz skonfigurować AVA, aby zawsze działał w trybie watch, ustawiając klucz watch w ava sekcji twojego package.json, lub pliku ava.config.*.

package.json:

{
	"ava": {
		"watch": true
	}
}

Pamiętaj, że reporter TAP jest niedostępny podczas korzystania z trybu watch.

Wymagania

AVA używa chokidar jako pliku watcher. Pamiętaj, że nawet jeśli zobaczysz ostrzeżenia o niepowodzeniu opcjonalnych zależności podczas instalacji, nadal będzie działać poprawnie. Proszę odnieść się do sekcji Install Troubleshooting z dokumentacji chokidar po to jak rozwiązać problemy z instalacją chokidar.

Ignorowanie zmian

Domyślnie AVA sprawdza zmiany we wszystkich plikach, z wyjątkiem tych z rozszerzeniem .snap.md, ava.config.* i plików w niektórych katalogach zgodnie z pakietem ignore-by-default.

Możesz skonfigurować dodatkowe wzorce, aby pliki były ignorowane w pliku ava sekcji twojego package.json, lub pliku ava.config.*, używając klucza ignoredByWatcher.

Jeśli testy zapisują się na dysku, mogą spowodować, że watcher uruchomi ponownie testy. Konfigurowanie dodatkowych wzorców ignorowania pomaga tego uniknąć.

Śledzenie zależności

AVA śledzi, od których plików źródłowych zależą twoje pliki testowe. Jeśli zmienisz taką zależność, zostanie ponownie uruchomiony tylko plik testowy, który jest od niej zależny. AVA uruchomi ponownie wszystkie testy, jeśli nie będzie w stanie ustalić, który plik testowy zależy od zmienionego pliku źródłowego.

Śledzenie zależności działa dla wymaganych modułów. Niestandardowe rozszerzenia i transpilery są obsługiwane, pod warunkiem dodania ich do twojego pliku package.json lub ava.config.*, a nie z pliku testowego. Pliki dostępne za pomocą modułu fs nie są śledzone.

Tryb watch i modyfikator .only

[Modyfikator .only] wyłącza algorytm śledzenia zależności trybu watch. Po wprowadzeniu zmiany wszystkie testy .only zostaną ponownie uruchomione, niezależnie od tego, czy test zależy od zmienionego pliku.

Tryb watch oraz CI

Jeśli uruchomisz AVA w CI z trybem watch, wykonanie zakończy się z błędem (Error : Watch mode is not available in CI, as it prevents AVA from terminating.). AVA nie będzie działać z opcją --watch (-w) w CI, ponieważ procesy CI powinny zostać zakończone, wraz z opcją --watch, AVA nigdy się nie zakończy.

Ręcznie uruchom ponownie wszystkie testy

Możesz szybko ponownie uruchomić wszystkie testy, wpisując r w konsoli, a następnie Enter.

Aktualizacja snapshotów

Możesz zaktualizować nieudane migawki, wpisując u na konsoli, a następnie Enter.

Debugowanie

Czasami tryb oglądania robi coś zaskakującego, jak ponowne uruchamianie wszystkich testów, gdy wydaje się, że zostanie uruchomiony tylko jeden test. Aby zobaczyć jego uzasadnienie, możesz włączyć tryb debugowania. Działa to najlepiej z pełnym reporterem:

$ DEBUG=ava:watcher npm test -- --watch --verbose

W systemie Windows użyj:

$ set DEBUG=ava:watcher
$ npm test -- --watch --verbose

Pomóż nam ulepszyć tryb watch

Tryb watch jest stosunkowo nowy i mogą występować pewne nierówne krawędzie. Proszę zgłosić wszelkie napotkane problemy. Dzięki!