|
|
||
|---|---|---|
| .. | ||
| compiled | ||
| README.md | ||
| package.json | ||
| run-tests.sh | ||
| run-tests.ts | ||
| test-directives.ts | ||
| test-functionality.ts | ||
| test-inject.ts | ||
| test-lifecycle.ts | ||
| test-nested-for-loops.ts | ||
| test-plugin-loading.ts | ||
| test-processors.ts | ||
| test-router.ts | ||
| test-signals-reactivity.ts | ||
| test-style-injection.html | ||
| test-style-injection.ts | ||
| test-template-reactivity.ts | ||
| tsconfig.json | ||
README.md
Testy Quarc Framework
Ta struktura zawiera wszystkie testy dla Quarc Framework.
Struktura
test-functionality.ts- Testy podstawowej funkcjonalności (ControlFlowTransformer, TemplateParser, etc.)test-style-injection.ts- Testy wstrzykiwania stylów i transformacji:hosttest-style-injection.html- Strona HTML do uruchamiania testów stylów w przeglądarcetest-lifecycle.ts- Testy interfejsów lifecycle (OnInit, OnDestroy, AfterViewInit, etc.)run-tests.ts- Główny skrypt do uruchamiania wszystkich testów
Uruchamianie testów
Instalacja zależności
cd quarc/tests/unit
npm install
Wszystkie testy (jednostkowe + e2e)
npm test
# lub
npm run test:all
Tylko testy jednostkowe
npm run test:unit
Tylko testy e2e
npm run test:e2e
Indywidualne testy
# Testy funkcjonalne
npm run test:functionality
# Testy wstrzykiwania stylów
npm run test:style
# Testy lifecycle
npm run test:lifecycle
Testy w przeglądarce
npm run test:browser
# lub
xdg-open test-style-injection.html
Wymagania
ts-node- do uruchamiania testów TypeScript@types/node- typy Node.js- Środowisko przeglądarki dla testów stylów (lub JSDOM)
Co testujemy?
Testy funkcjonalne
- ✅ Transformacja
@ifna*ngIf - ✅ Transformacja
@forna*ngFor - ✅ Parsowanie szablonów
- ✅ Helpery dla dyrektyw strukturalnych
Testy wstrzykiwania stylów
- ✅ Transformacja
:hostna[_nghost-scopeId] - ✅ Transformacja
:host()z selektorami - ✅ Obsługa różnych ViewEncapsulation
- ✅ Dodawanie atrybutów
_nghosti_ngcontent - ✅ Wiele wystąpień
:hostw jednym pliku
Testy lifecycle
- ✅ OnInit -
ngOnInit() - ✅ OnDestroy -
ngOnDestroy() - ✅ AfterViewInit -
ngAfterViewInit() - ✅ AfterViewChecked -
ngAfterViewChecked() - ✅ AfterContentInit -
ngAfterContentInit() - ✅ AfterContentChecked -
ngAfterContentChecked() - ✅ DoCheck -
ngDoCheck() - ✅ OnChanges -
ngOnChanges(changes: SimpleChanges) - ✅ Wielokrotna implementacja hooków
- ✅ Poprawna kolejność wywołań lifecycle
Rozwój
Aby dodać nowy test:
- Stwórz nowy plik
test-nazwa.tsw tym katalogu - Dodaj go do listy
testFileswrun-tests.ts - Użyj funkcji
test()z istniejących plików jako wzoru
Problemy
Jeśli testy stylów nie działają w Node.js, uruchom je w przeglądarce przez test-style-injection.html.