Automatyczne testy moda
claude plugin test pozwala uruchamiać z powłoki automatyczne testy moda. Test wysyła zdarzenia obsługiwane przez hooki i sprawdza ich skutki, pomagając wykryć problem przed użyciem moda w sesji. Testy nie wymagają sesji, logowania ani połączenia z siecią.
Plik testowy zapisz w katalogu pluginu i nadaj mu nazwę kończącą się na .test.ts. Każdy taki plik musi zawierać co najmniej jedno test(), inaczej uruchomienie zakończy się błędem informującym, że nic nie wykonano. Test może importować własne pliki moda oraz sąsiednie pomocnicze pliki .ts, dzięki czemu można sprawdzać także zwykłe funkcje bez używania zestawu testowego.
W teście możesz podstawić odpowiedzi Claude Code, aby wywołania narzędzi nie uruchamiały rzeczywistych narzędzi. Następnie wywołania $.tool.call przechodzą przez hook moda, a test może sprawdzić wynik zwrócony przez hook. Do testów interfejsu $.ui.mount rysuje wskazane miejsce renderowania, a zwrócony uchwyt pozwala naciskać, wpisywać i wyszukiwać elementy.
Testy mogą sprawdzać również moda polityk: tier ustawia jego pozycję w kolejności, a opcja plugins pozwala dodać drugi mod do dopuszczenia albo odrzucenia. Zestaw ładuje mody przy pierwszym wywołaniu na $; jeśli mod odmówi załadowania innego, to wywołanie zgłosi błąd. Test rysowania sprawdza zwrócone drzewo i jego poprawność dla aplikacji, ale nie sprawdza, jak aplikacja je wyświetla. Nieudany test kończy się statusem 1, więc polecenie nadaje się do użycia w CI.
first-mod, aby sprawdzić między innymi odpowiedź komendy /tally.claude plugin test
Zastosowanie w praktyce
Użyj polecenia, gdy chcesz sprawdzić, czy hooki reagują na zdarzenia i zwracają oczekiwane wyniki, zanim problem trafi do sesji. Przy testowaniu logiki moda podstaw odpowiedzi na wywołania narzędzi, aby nie uruchamiać narzędzi ani nie odczytywać plików. W przypadku moda polityk sprawdź osobno odmowę dla moda naruszającego regułę i dopuszczenie moda, który jej nie narusza.