Testowanie,
Prościej.

Typowana nawigacja SwiftUI w testach UI.

HarnessKit 1.0

HarnessKit 1.0: cztery moduły, jedna paczka.

Deklarujesz projekt

PathProject trzyma listę folderów. Z tej deklaracji bierze się UI i każda ścieżka testu.

Jedna deklaracja, całe drzewo.

Foldery jako enumy

Każdy case wiąże widok z etykietą. Switch po self zwraca ciało funkcji. Kompilator pilnuje, żeby żaden ekran ci nie umknął.

Jeden case na ekran. Switch po self.

Nawigacja z testu

Wywołujesz navigate(app:) dla case'a folderu. HarnessKit przechodzi za ciebie od korzenia aż do docelowego ekranu.

navigate(app:) prowadzi ścieżką od korzenia.

Specyfikacja

Typowane ścieżki, od początku do końca.

PathProject, PathFolder, navigate(app:). Jedno drzewo dla podglądów i testów UI.

Exhaustive enumy

Kompilator pilnuje wszystkich ekranów już na etapie kompilacji.

Jedna deklaracja

Jedno źródło napędza UI, ścieżki testów i screenshoty.

Koniec z XCUI

navigate(app:) zwija ręczne tapy do jednego typowanego wywołania.

Możliwości

Więcej niż harness.

Testy, screenshoty i testy screenshotów oparte na bazowych protokołach.

HarnessKit

Bazowe protokoły, resolver ścieżek oraz HarnessView.

HarnessKitScreenshots

Backend metadanych zrzutów: nazwa, motyw, wersja OS, orientacja.

HarnessKitTesting

navigate(app:) dla każdego PathFolder. Na tvOS działa przez XCUIRemote.

HarnessKitScreenshotTesting

Ustawiasz motyw i orientację, wyzwalasz zrzut ekranu.

Typowane ścieżki

PathResolver, PathComponent oraz PathFolder. Protokoły gotowe do rozszerzania.

Wdrożenie

Dodajesz paczkę.

Dodajesz zależność, deklarujesz drzewo, renderujesz HarnessView. Test target od razu ma dostęp do navigate(app:).

HarnessKit jest open source na licencji MIT.