Wygenerowane projekty
::: ostrzeżenie WYMAGANIA
- Projekt wygenerowany przez
- Konto i projekt Tuist
:::
Aby selektywnie uruchamiać testy w wygenerowanym projekcie, należy użyć
polecenia tuist test. Polecenie
hashes
projektu Xcode w taki sam sposób, jak w przypadku
warming the cache, a po powodzeniu utrwala hashe, aby określić, co zmieniło
się w przyszłych uruchomieniach.
W przyszłych uruchomieniach tuist test w przejrzysty sposób wykorzystuje
skróty do filtrowania testów, aby uruchomić tylko te, które zmieniły się od
ostatniego pomyślnego uruchomienia testu.
Na przykład, zakładając następujący graf zależności:
FeatureAma testyFeatureATestsi zależy odCoreFeatureBma testyFeatureBTestsi zależy odCoreCorema testyCoreTests
tuistycznego testu będzie zachowywać się w ten sposób:
| Działanie | Opis | Stan wewnętrzny |
|---|---|---|
tuist test wywołanie |
Uruchamia testy w CoreTests, FeatureATests i FeatureBTests |
Skróty FeatureATests, FeatureBTests i CoreTests są przechowywane. |
FunkcjaA jest aktualizowana |
Deweloper modyfikuje kod obiektu docelowego | Tak jak poprzednio |
tuist test wywołanie |
Uruchamia testy w FeatureATests, ponieważ zmienił się ich hash. |
Nowy skrót FeatureATests jest przechowywany |
Rdzeń jest aktualizowany |
Deweloper modyfikuje kod obiektu docelowego | Tak jak poprzednio |
tuist test wywołanie |
Uruchamia testy w CoreTests, FeatureATests i FeatureBTests |
Nowe skróty FeatureATests FeatureBTests i CoreTests są przechowywane |
tuist test integruje się bezpośrednio z buforowaniem binarnym, aby wykorzystać
jak najwięcej plików binarnych z lokalnej lub zdalnej pamięci masowej w celu
skrócenia czasu kompilacji podczas uruchamiania zestawu testów. Połączenie
testowania selektywnego z buforowaniem binarnym może znacznie skrócić czas
potrzebny na uruchomienie testów w CI.
Testy interfejsu użytkownika#
Tuist obsługuje selektywne testowanie testów interfejsu użytkownika. Tuist musi
jednak znać miejsce docelowe z wyprzedzeniem. Tylko po określeniu parametru
destination, Tuist uruchomi selektywnie testy interfejsu użytkownika, takie
jak:
tuist test --device 'iPhone 14 Pro'
# or
tuist test -- -destination 'name=iPhone 14 Pro'
# or
tuist test -- -destination 'id=SIMULATOR_ID'