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.
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.
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.
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ąć.
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.
[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.
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.
Możesz szybko ponownie uruchomić wszystkie testy, wpisując r w konsoli, a następnie Enter.
Możesz zaktualizować nieudane migawki, wpisując u na konsoli, a następnie Enter.
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
Tryb watch jest stosunkowo nowy i mogą występować pewne nierówne krawędzie. Proszę zgłosić wszelkie napotkane problemy. Dzięki!