Toolverse
Wszystkie skille

testing-hashql

autor: hashintel

Strategie testowania HashQL: kompiletest, testy jednostkowe i snapshot'y dla kodu kompilatora

Instalacja

Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.

Instalacja

Szybkie info

Kategoria
Testowanie
Wyświetlenia
1

O skillu

Skill do testowania kodu HashQL obejmujący trzy podejścia: compiletest do weryfikacji zachowania kompilatora (diagnostyka, type checking, komunikaty błędów), testy jednostkowe dla logiki wewnętrznej oraz snapshot'y dla przypadków brzegowych. Używaj go gdy piszesz testy dla HashQL, pracujesz z adnotacjami //~, uruchamiasz --bless, debugujesz błędy testów lub wybierasz odpowiednią strategię testowania. Skill zawiera szybki przewodnik wyboru typu testu w zależności od scenariusza (diagnostyka, fazy pipeline'u kompilatora, integracja MIR/HIR/AST).

Jak używać

  1. Zainstaluj skill testing-hashql w swoim środowisku Claude/Copilot. Skill automatycznie aktywuje się gdy napiszesz zapytanie zawierające słowa kluczowe takie jak "hashql test", "compiletest", "ui test", "snapshot test" lub "--bless". 2. Określ typ testu na podstawie tego, co chcesz weryfikować: dla diagnostyki i komunikatów błędów użyj compiletest w katalogu tests/ui/, dla testów jednostkowych logiki wewnętrznej umieść je w src/*.rs, dla snapshot'ów przypadków brzegowych użyj insta w tests/ui/kategoria/ lub src/**/snapshots/. 3. Dla testów compiletest utwórz strukturę: katalog w tests/ui/kategoria/ z plikami .spec.toml (specyfikacja), test.jsonc (wejście), test.stdout (oczekiwane wyjście przy powodzeniu) i test.stderr (oczekiwane błędy przy niepowodzeniu). 4. Uruchom testy poleceniem cargo run -p hashql-compiletest run aby wykonać wszystkie testy lub cargo run -p hashql-compiletest run --filter aby filtrować konkretne testy. 5. Gdy testy się nie powiodą, przeanalizuj błędy używając adnotacji //~ w kodzie testowym do oznaczania oczekiwanych diagnostyk, a następnie uruchom --bless aby zaaktualizować snapshot'y jeśli zmiana jest zamierzona. 6. Skonsultuj się ze skill'em gdy nie jesteś pewny, który typ testu wybrać dla danego scenariusza (parser, MIR/HIR/AST pass, integracja pipeline'u) — skill zawiera tabelę decyzyjną do szybkiego wyboru.

Podobne skille