Przejdź do głównej zawartości

Testowanie i debugowanie z Cursorem to sekcja trzech przewodników dla programistów, którzy powierzają agentowi Cursora pisanie testów i naprawianie błędów. Przewodniki pokazują, jak najpierw napisać test, który nie przechodzi, jak generować testy łapiące prawdziwe błędy w istniejącym kodzie i jak znaleźć przyczynę, zanim powstanie poprawka. Każdy kończy się dowodami, które recenzent sprawdza zamiast czytać diff.

Prosisz agenta Cursora o testy dla serwisu płatności. Pisze 30, wszystkie przechodzą, pokrycie rośnie. Tydzień później refaktor psuje zwroty i żaden test nie robi się czerwony, bo testy sprawdzały to, co kod już robił, a nie to, co powinien robić. Ta sekcja jest dla programisty, który pisze takie prompty, i dla tech leada, który decyduje, czego musi dowodzić pull request z testami.

Którego przewodnika o testowaniu w Cursorze potrzebujesz?

Dział zatytułowany „Którego przewodnika o testowaniu w Cursorze potrzebujesz?”
Twoja sytuacjaZacznij odZ czym wychodzisz
Nowa funkcja albo zmiana zachowaniaTest-driven development w CursorzeTest napisany ze specyfikacji, który najpierw nie przechodzi, a potem implementacja, po której test przechodzi
Istniejący kod z nielicznymi albo słabymi testamiWzorce testowaniaTesty charakteryzacyjne, pokrycie prawdziwych przypadków brzegowych i fabryki danych testowych
Coś jest zepsute, często sporadycznieDebugowanie z AI w CursorzeReprodukcja, udowodniona przyczyna i test regresyjny, który najpierw nie przechodził

Przed tą sekcją potrzebujesz działającej konfiguracji agenta i polecenia testów, które agent może uruchomić: zobacz szybki start z Cursorem i reguły projektu.

Jak przebiega pętla testowania i debugowania w Cursorze

Dział zatytułowany „Jak przebiega pętla testowania i debugowania w Cursorze”

Wszystkie trzy przewodniki trzymają się tej samej kolejności, a to ona powstrzymuje agenta przed pisaniem testów dopasowanych do własnego kodu.

  1. Opisz zachowanie w Plan Mode. Plan Mode według Cursora „tworzy szczegółowe plany implementacji, zanim napisze jakikolwiek kod”. Zamień w nim zlecenie albo zgłoszenie błędu w kryteria akceptacji, bez edycji plików.

  2. Napisz test i zobacz, że nie przechodzi. Przełącz się na agenta Cursora i każ mu pisać wyłącznie testy, bez dotykania plików źródłowych. Test, który przechodzi, zanim powstała zmiana, niczego nie sprawdza.

  3. Implementuj przy zablokowanych testach. Agent zmienia pliki źródłowe, aż zestaw testów będzie zielony, i nie rusza testów. Najpierw zrób commit, żeby git diff --stat pokazał dokładnie, czego dotknął. Polecenie to nie blokada: wymuś je kontrolą w CI, która nie przechodzi, gdy commit z implementacją zmienia tests/ (zobacz ochrona wyroczni).

  4. Uruchom wszystkie bramki. Pełny zestaw testów, sprawdzenie typów i linter, lokalnie i ponownie w CI.

  5. Zleć niezależny przegląd. Bugbot albo drugi agent przegląda pull request względem kryteriów akceptacji, a nie względem podsumowania, które napisał sam agent.

Jak ufać testom napisanym przez agenta, nie czytając ich wszystkich?

Dział zatytułowany „Jak ufać testom napisanym przez agenta, nie czytając ich wszystkich?”

Sprawdź, czy testy potrafią nie przejść i czy nikt nie nagiął ich do kodu. Wymagaj tych dowodów w każdym pull requeście, który dodaje albo zmienia testy:

  • Czerwony przed zielonym. Każdy nowy test nie przechodzi na starym kodzie, a wynik tego przebiegu trafia do pull requesta.
  • Próba psucia. Drugi prompt powyżej: test, który przeżywa celowo zepsutą linię, jest dekoracją. Siła wyroczni pokazuje, jak mierzyć to w całym zestawie.
  • Testy nietknięte podczas poprawki. git diff --stat dla commita z implementacją nie wymienia plików testów.
  • Bramki zielone w CI, a nie tylko w raporcie agenta.

Dowody należą do programisty. Recenzent zatwierdza, gdy wszystkie punkty są obecne, i czyta kod tylko tam, gdzie czegoś brakuje albo coś zaskakuje. Uzasadnienie znajdziesz w tekście dowody zamiast czytania kodu.

Przy błędach interfejsu i testach end-to-end oficjalny serwer Playwright MCP (@playwright/mcp 0.0.82, sprawdzone przez npm view 26 września 2026) pozwala agentowi sterować prawdziwą przeglądarką i czytać błędy z konsoli. Dodaj go do konfiguracji MCP w Cursorze (mcp.json; zobacz konfiguracja MCP):

{ "mcpServers": { "playwright": { "command": "npx", "args": ["@playwright/mcp@latest"] } } }

Gdy kilka agentów testuje równolegle, dodaj --isolated do args, bo trwały profil przeglądarki można otworzyć tylko w jednej przeglądarce naraz. Schematy narzędzi i zrzuty stron zajmują kontekst, więc włączaj serwer do pracy nad UI, a nie w każdej sesji. Alternatywy porównują strony Playwright MCP i skille do testowania i debugowania.

Co się psuje przy testowaniu i debugowaniu w Cursorze?

Dział zatytułowany „Co się psuje przy testowaniu i debugowaniu w Cursorze?”
ObjawPrawdopodobna przyczynaJak to naprawić
Wszystkie nowe testy przechodzą za pierwszym razemWyprowadzono je z implementacjiPowtórz pierwszy prompt z wypisanymi regułami i src/ tylko do odczytu
Test, który nie przechodził, zielenieje po edycji testuAgent zmienił asercję, żeby pasowała do koduCofnij test, napisz „The test is correct; fix the implementation” i sprawdź git diff --stat
Każda poprawka psuje coś innegoAgent edytował, zanim była znana przyczynaWróć do ostatniego czystego commita i do Plan Mode (polowanie na błędy)
Pokrycie rośnie, a błędy dalej uciekająTesty wykonują linie, ale nie sprawdzają wynikówUruchom prompt z próbą psucia na module, z którego wyciekł błąd
Lokalnie zielono, w CI czerwonoInne dane, zależności czasowe albo środowiskoOdtwórz problem poleceniem i danymi z CI, zanim poprosisz o poprawkę

Ten sam etap w innych narzędziach: Claude Code i Codex. Praktyka niezależna od narzędzia jest w sekcji przepływy weryfikacji.