Skip to content

Python ​

Versiune ​

Rulează pe Python v3.11.8

Limbaje suportate ​

Python

Framework de testare ​

Pytest

Recomandări speciale și detalii de implementare ​

py
from pytest import mark as m
from challenge.app import helloWorld

@m.describe("app.py")
class TestHelloWorld:
    @m.it("Should return 'Hello World!'")
    def test_return_hello_world(self):
        assert helloWorld() == 'Hello World!'

Librării incluse ​

Provocări write-tests ​

Acest șablon acceptă provocări write-tests. Soluția de referință este deja scrisă, iar tu scrii testele: acestea trebuie să treacă pe soluția de referință și să prindă fiecare variantă cu bug-uri ascunsă. Test îți rulează testele doar pe soluția de referință, iar Verify tests (Verifică testele) și Submit (Trimite) le rulează și pe variantele cu bug-uri ascunse. Citește Rezolvarea unei provocări write-tests pentru întregul flux.

  • Runner de teste: pytest
  • Importă soluția prin pachetul challenge, de exemplu from challenge.clamp import clamp. Punctul de intrare pentru Run (main.py) importă fără prefix (from clamp import clamp).
  • Denumește fișierele de test test_*.py. Decoratorii @m.describe / @m.it din pytest.mark dau testelor nume ușor de citit în panoul de rezultate.
  • Folosește pytest.raises ca să fixezi comportamentul la erori: o validare lipsă este un bug ascuns clasic.

Un exemplu complet găsești în Exemple de write-tests după șablon.

Cum să depanezi ​

Depanarea codului Python este esențială pentru orice dezvoltator. Una dintre cele mai simple și totuși eficiente metode de depanare este utilizarea instrucțiunilor print().

Pași pentru depanare folosind instrucțiuni print ​

  1. Identifică zona cu probleme: Localizează secțiunea din codul tău unde suspectezi că ar putea fi problema.

  2. Introdu instrucțiuni print(): Adaugă instrucțiuni print() înainte și după codul suspectat ca fiind problematic, pentru a afișa valorile variabilelor și controlul fluxului.

  3. Verifică rezultatele afișate de testele tale

  4. Analizează rezultatele: Uită-te la valorile afișate în consola de rezultate pentru a înțelege ce nu funcționează în codul tău. Ajustează codul pe baza constatărilor și repetă dacă este necesar.

Iată un exemplu despre cum să folosești print() pentru depanare:

python
def calculate_sum(a, b):
    print("calculate_sum called with arguments:", a, b) # Log function call
    sum_val = a + b
    print("Sum after addition:", sum_val) # Log sum calculation
    return sum_val

result = calculate_sum(5, 10)
print("Result of calculate_sum:", result) # Log the result