Testare unitară cu pytest

Introducere în testarea în Python

Alexander Levin

Data Scientist

Ce este un test unitar

Unitate - cea mai mică parte funcțională testabilă.

  • Exemple: funcții, metode, clase, module etc.

$$

Testare unitară - metodă de testare a software-ului.

  • Permite verificarea corectitudinii unei unități.

$$

Caz de testare - un set de intrări și ieșiri așteptate.

  • Descrie o parte specifică din problemă.
Introducere în testarea în Python

De ce să folosim teste unitare

Testele unitare - constituie baza testării „imaginii de ansamblu" a software-ului.

Cazuri de utilizare:

  • La descoperirea erorilor
  • În timpul dezvoltării
  • După implementarea modificărilor
Introducere în testarea în Python

Cum se creează un test unitar

Pași:

  1. Decideți ce unități să testați
  2. Definiți cazurile de testare (partea creativă):
    • „Care sunt rezultatele posibile ale unității?"
    • „Cum poate fi utilizată unitatea?"
    • „Cum ar trebui să se comporte în fiecare caz?"
  3. Scrieți cod pentru fiecare caz de testare
  4. Rulați testele și analizați rezultatele
Introducere în testarea în Python

Crearea unui test unitar: exemplu

Unitatea de testat:

# Function for a sum of elements
def sum_of_arr(array:list) -> int:
    return sum(array)

Cazuri de testare:

  1. Intrarea este o listă de numere (așteptat) - ar trebui să returneze sum
  2. Intrarea este o listă goală - ar trebui să returneze 0
  3. Intrarea conține un singur number - ar trebui să returneze acel number
Introducere în testarea în Python

Crearea unui test unitar: cod

# Test Case 1: regular array
def test_regular():
    assert sum_of_arr([1, 2, 3]) == 6
    assert sum_of_arr([100, 150]) == 250
# Test Case 2: empty list
def test_empty():
    assert sum_of_arr([]) == 0
# Test Case 3: one number
def test_one_number():
    assert sum_of_arr([10]) == 10
    assert sum_of_arr([0]) == 0
Introducere în testarea în Python

Rezumat

Test unitar - verifică dacă o unitate funcționează corect.

Caz de testare - intrări și ieșiri ce descriu o parte din problemă.

Cazuri de utilizare:

  • La descoperirea erorilor
  • În timpul dezvoltării
  • După implementarea modificărilor

Definirea cazurilor de testare - implică creativitate.

Introducere în testarea în Python

Să exersăm!

Introducere în testarea în Python

Preparing Video For Download...