Rularea Testelor și Depanare Automată în Codex în OpenAI Codex CLI

Dezvoltare și AGENTS.md OpenAI Codex CLI 2025+

Execuția ghidată a suitei de teste unitare cu diagnosticarea imediată a erorilor de aserțiune și rescrierea automată a codului defect.

Sintaxă & invocare
codex exec --test [suită_teste]

Una dintre cele mai puternice funcționalități ale OpenAI Codex CLI este bucla închisă de testare și reparare automată (Test-Driven Repair Loop). În loc să rulezi manual `pytest` sau `npm test`, să copiezi mesajul de eroare și să îl trimiți ca prompt separat, Codex preia controlul fluxului de verificare.

Agentul lansează suita de teste, capturează `stderr` și traceback-ul complet, izolează linia exactă care a picat aserțiunea, analizează dependențele și modifică fișierul sursă. După aplicarea patch-ului, re-rulează automat testul pentru a confirma rezolvarea fără efecte secundare (regresii).

Acest flux elimină 90% din munca repetitivă de debugging la refactorizări sau migrații de versiuni de limbaj.

Sintaxă, opțiuni și concepte cheie

Opțiune / Concept Descriere practică
--test Specifică executabilul de testare (ex. ‘pytest tests/test_auth.py’ sau ‘jest’).
--auto-fix Autorizează Codex să aplice modificările direct în fișiere dacă testele eșuează.
--max-retries Numărul maxim de iterații de depanare automată permise înainte de a cere ghidaj uman (tipic 3).
Traceback Analysis Parsarea automată a erorilor de tip AssertionError, TypeError sau NullPointer.

Exemple practice de terminal și cod

Exemplul 1: Rularea și repararea automată a testelor unitare Python cu Codex

Comandă directă de testare și depanare automată.

$ codex exec --test "pytest tests/test_plati.py" --auto-fix

[Codex rulează pytest]
FAIL: test_calcul_tva_rotunjire (AssertionError: 119.001 != 119.00)
Codex identifică problema: rotunjirea zecimalelor în src/servicii/tva.py linia 42.
Codex aplică corecția: Decimal.quantize(Decimal('0.01'), rounding=ROUND_HALF_UP)
[Codex re-rulează testul]
PASS: 14 tests passed in 0.82s.

Codex: 'Am corectat rotunjirea zecimală. Toate testele trec acum cu succes.'

Rezultat & Impact

Bug reparat și validat în 5 secunde fără intervenție manuală.

Greșeli frecvente și bune practici

  • Permiterea unui număr infinit de reîncercări; dacă un test eșuează din cauza unei cerințe de business greșite, Codex poate începe să ‘repare’ testul în loc de cod.
  • Rularea pe teste de integrare care modifică baze de date reale fără rollback tranzacțional.

Ghiduri și comenzi înrudite