Pytania rekrutacyjne z testowania (Middle) z odpowiedziami
75 pytań na rozmowę rekrutacyjną z tematu Testowanie (Middle) - z poprawnymi odpowiedziami, wyjaśnieniami i linkami do dokumentacji.
Rozwiąż ten test- 1.Czym różnią się
findBy…iwaitFor? - 2.Co jest nie tak z tym
waitFor? - 3.Jak poczekać, aż zniknie wskaźnik ładowania?
- 4.Co zwykle oznacza ostrzeżenie „An update to Component inside a test was not wrapped in act(...)”?
- 5.Co jest nie tak z takim czekaniem?
- 6.Jak używać fake timerów razem z user-event v14?
- 7.Jak przetestować pole wyszukiwania z debounce?
- 8.Czym
vi.runAllTimers()różni się odvi.advanceTimersByTime(1000)? - 9.Jak ustalić bieżącą datę w teście?
- 10.Dlaczego
vi.mock("./api")można napisać pod importami i nadal działa? - 11.Dlaczego ta fabryka mocka pada?
- 12.Jak zamockować tylko jeden eksport modułu, a resztę zostawić prawdziwą?
- 13.Czym różnią się
mockClear,mockResetimockRestore? - 14.Na co pozwala
mockImplementationOnce? - 15.Gdzie w Jest leżą ręczne mocki modułu z node_modules?
- 16.Dlaczego
vi.spyOn(module, "fn")często nie wpływa na wywołania wewnątrz tego samego modułu ES? - 17.Dlaczego MSW często jest preferowany zamiast bezpośredniego mockowania
fetch/axios? - 18.Jak skonfigurować MSW dla testów w Node.js?
- 19.Jak z MSW sprawić, żeby jeden test dostał z endpointu błąd 500?
- 20.Jak sprawdzić, co komponent wysłał do API, gdy używasz MSW?
- 21.Jak wyrenderować komponent, który potrzebuje providerów (router, store, query client)?
- 22.Jak szukać w jednej części strony, np. w jednym wierszu tabeli?
- 23.Co zwraca
renderHook? - 24.Jak sprawdzić, że komponent reaguje na nowe propsy?
- 25.Jak znaleźć nagłówek konkretnego poziomu?
- 26.Dlaczego
getByRolemoże nie znaleźć elementu, który jest w DOM? - 27.Jak przetestować komponent, który czyta dane ze store'a Redux?
- 28.Jak przetestować komponent korzystający z TanStack Query?
- 29.Jak przetestować komponent zależny od bieżącej trasy (React Router)?
- 30.Jak sprawdzić, że checkbox jest zaznaczony?
- 31.Co sprawdza
toHaveAccessibleName? - 32.Jak szybko dobrać najlepsze zapytanie dla elementu?
- 33.Co jest nie tak z ręcznym wywoływaniem
cleanupwafterEach? - 34.Dlaczego
getByRolejest wolniejszy odgetByTexti co z tym zrobić? - 35.Jakie są wady dużych snapshotów komponentów?
- 36.Czym jest
toMatchInlineSnapshot? - 37.Co mierzy pokrycie gałęzi (branch coverage), czego nie widzi pokrycie linii?
- 38.Co robi próg pokrycia w konfiguracji?
- 39.Jakich dostawców pokrycia obsługuje Vitest?
- 40.Do czego służy plik setup (
setupFilesw Vitest,setupFilesAfterEnvw Jest)? - 41.Co robi
globals: truew konfiguracji Vitest? - 42.Dlaczego Jest i Vitest domyślnie izolują pliki testowe?
- 43.Czym jest lokator w Playwright?
- 44.Co oznacza ścisłość (strictness) lokatorów Playwright?
- 45.Jak zawęzić lokator elementu listy do tego, który zawiera tekst?
- 46.Dlaczego
expect(await locator.isVisible()).toBe(true)jest gorsze niżawait expect(locator).toBeVisible()? - 47.Jak zamockować odpowiedź API w Playwright?
- 48.Jak uniknąć logowania przez UI w każdym teście Playwright?
- 49.Jak Playwright izoluje testy od siebie?
- 50.Do czego przydaje się trace viewer w Playwright?
- 51.Czym są fixtures w Playwright?
- 52.Jak automatycznie uruchomić aplikację przed testami Playwright?
- 53.Co robi
expect.pollw Playwright? - 54.Dlaczego odradza się
page.waitForTimeout(3000)? - 55.Co oznacza
test.describe.configure({ mode: "serial" })i dlaczego używa się go rzadko? - 56.Dlaczego w Cypress nie można napisać
const text = cy.get("h1").text()? - 57.Co jest ponawiane w łańcuchu Cypress typu
cy.get(".list li").should("have.length", 3)? - 58.Jak w Cypress poczekać na konkretne żądanie?
- 59.Co robi
cy.session()? - 60.Jaka jest kluczowa różnica architektoniczna między Cypress a Playwright?
- 61.Która praktyka w Cypress jest antywzorcem?
- 62.Dlaczego testy integracyjne we frontendzie często są najbardziej opłacalne?
- 63.Jaki typ testu najlepiej pasuje do „zakup działa z prawdziwym backendem i sandboxem płatności”?
- 64.Co sprawdza test kontraktowy?
- 65.Co zrobić z niestabilnym testem, którego nie da się od razu naprawić?
- 66.Jakie są częste przyczyny niestabilnych testów UI?
- 67.Czemu w teście odpowiada „Given–When–Then”?
- 68.Dlaczego głębokie zagnieżdżanie
describeze wspólnymi zmiennymiletjest problematyczne? - 69.Czego NIE powinien sprawdzać test komponentu?
- 70.Jak dodać automatyczne sprawdzanie dostępności do testów komponentów?
- 71.Czym jest testowanie komponentów w Playwright lub Cypress?
- 72.Czym jest Browser Mode w Vitest?
- 73.Co dają asymetryczne matchery, takie jak
expect.objectContaining? - 74.Jak sprawdzić, że „Submit” jest nieaktywny, dopóki formularz nie jest poprawny?
- 75.Jak zwykle konfiguruje się ponowienia (retries) w Playwright?