Pytest-Kehys: Automaattisten Testien Asennus ja Suoritus
Pyyhkäise näyttääksesi valikon
Asennus
Ensimmäiseksi täytyy asentaa Pytest. Tämä prosessi on suoraviivainen Pythonin paketinhallinnan, pip:n, ansiosta. Avaa komentorivi tai terminaali ja syötä seuraava komento:
pip install pytest
On suositeltavaa tehdä tämä projektin virtuaaliympäristössä.
Syntaksin selitys
Yksi syy siihen, miksi Pytest on niin suosittu Python-yhteisössä, on sen yksinkertainen ja helposti kirjoitettava syntaksi. Toisin kuin jotkin muut testauskehykset, Pytest mahdollistaa testikoodien kirjoittamisen hyvin luettavalla tavalla. Tässä lyhyt yhteenveto:
- Testitiedostot: pytest tunnistaa tiedostot, jotka alkavat test_ tai päättyvät _test.py;
- Testifunktiot: funktiot, jotka alkavat test_ näissä tiedostoissa, tunnistetaan automaattisesti testifunktioiksi pytestin toimesta;
- Väittämät: käytä Pythonin sisäänrakennettua
assert-lausetta varmistaaksesi, että tietyt ehdot täyttyvät.
Koodiesimerkit
Soveltakaamme opittua yksinkertaisella esimerkillä. Oletetaan, että meillä on funktio nimeltä add, joka laskee yhteen kaksi lukua. Näin voisimme kirjoittaa sille testin Pytestillä:
# content of test_example.py
def add(a, b):
return a + b
def test_add():
assert add(2, 3) == 5
assert add('space', 'ship') == 'spaceship'
Tämä koodiesimerkki näyttää kaksi testiä: yhden luvuilla ja toisen merkkijonoilla. Assert-lausumat tarkistavat, toimiiko funktio odotetulla tavalla.
Testien suorittaminen ja tulosten tulkinta
Testien suorittaminen Pytestillä on erittäin helppoa. Siirry hakemistoon, jossa testitiedosto sijaitsee, ja suorita seuraava komento:
pytest
Pytest löytää ja suorittaa automaattisesti kaikki hakemiston testit ja näyttää raportin, jossa näkyy, läpäisikö vai epäonnistuiko kukin testi. Tässä esimerkki näkymästä:
===================== test session starts ======================
collected 2 items
test_example.py .. [100%]
====================== 2 passed in 0.12s =======================
Jokainen piste edustaa läpäistyä testiä. Pytest antaa yksityiskohtaiset tiedot epäonnistuneista testeistä, mukaan lukien rivinumeron ja syyn epäonnistumiseen, mikä helpottaa ongelmien diagnosointia ja korjaamista.
===================== test session starts ======================
collected 2 items
test_example.py .F [100%]
====================== FAILURES ==========================
____________________ test_add _________________________
def test_add():
> assert add(2, 3) == 8
E AssertionError: assert 5 == 8
E + where 5 = add(2, 3)
test_example.py:6: AssertionError
===================== 1 passed, 1 failed in 0.23s ======================
Tulosten tulkinta
- Passed (.): testi suoritettiin onnistuneesti ja kaikki väittämät olivat
True; - Failed (F): testissä on väittämiä, jotka eivät olleet
True, mikä osoittaa ongelman; - Skipped (s): testi ohitettiin, mahdollisesti määritetyn ehdon tai riippuvuuden vuoksi.
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme