← Wszystkie tematy

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