Testowanie selektywne
Wraz z rozwojem projektu rośnie liczba testów. Przez długi czas uruchamianie wszystkich testów przy każdym PR lub push na main zajmowało dziesiątki sekund. Ale to rozwiązanie nie skaluje się do tysięcy testów, które może mieć Twój zespół.
Przy każdym uruchomieniu testów w CI najprawdopodobniej ponownie uruchamiasz wszystkie testy, niezależnie od zmian. Selektywne testowanie Tuist pomaga drastycznie przyspieszyć uruchamianie samych testów, uruchamiając tylko te testy, które zmieniły się od ostatniego udanego uruchomienia testowego w oparciu o nasz algorytm
hashing.Testowanie selektywne działa z xcodebuild, który obsługuje dowolny projekt Xcode, lub jeśli generujesz swoje projekty za pomocą Tuist, możesz zamiast tego użyć polecenia tuist test, które zapewnia dodatkowe udogodnienia, takie jak integracja z binary cache. Aby rozpocząć testowanie selektywne, postępuj zgodnie z instrukcjami opartymi na konfiguracji projektu:
GRANULARNOŚĆ MODUŁOWA A GRANULARNOŚĆ NA POZIOMIE PLIKU
Ze względu na brak możliwości wykrycia wewnątrzkodowych zależności między testami i źródłami, maksymalna ziarnistość testowania selektywnego znajduje się na poziomie celu. Dlatego zalecamy, aby cele były małe i skoncentrowane, aby zmaksymalizować korzyści płynące z testowania selektywnego.
OBJĘTOŚĆ TESTOWA
Narzędzia pokrycia testów zakładają, że cały zestaw testów jest uruchamiany jednocześnie, co czyni je niekompatybilnymi z selektywnym uruchamianiem testów - oznacza to, że dane pokrycia mogą nie odzwierciedlać rzeczywistości podczas korzystania z selekcji testów. Jest to znane ograniczenie i nie oznacza, że robisz coś źle. Zachęcamy zespoły do zastanowienia się nad tym, czy pokrycie nadal przynosi znaczące informacje w tym kontekście, a jeśli tak, to zapewniamy, że już myślimy o tym, jak sprawić, by pokrycie działało poprawnie z selektywnymi przebiegami w przyszłości.
Komentarze do pull/merge requestów {#pullmerge-request-comments}.
WYMAGANA INTEGRACJA Z PLATFORMĄ GIT
Aby uzyskać automatyczne komentarze do pull/merge requestów, zintegruj projekt
Tuistz platformą
Git.Po połączeniu projektu Tuist z platformą Git, taką jak GitHub, i rozpoczęciu korzystania z tuist xcodebuild test lub tuist test jako części przepływu CI, Tuist opublikuje komentarz bezpośrednio w żądaniach ściągnięcia/łączenia, w tym informacje o tym, które testy zostały uruchomione, a które pominięte:
.
