PyUnit opetusohjelma: Python Yksikkötestauskehys (esimerkillä)
Mikä on yksikkötestaus?
Yksikkötestaus in Python tehdään virheiden tunnistamiseksi sovelluksen varhaisessa kehitysvaiheessa, kun virheet ovat vähemmän toistuvia ja halvempia korjata.
Yksikkötesti on ohjelmoitu kooditason testi, joka on suunniteltu sisään Python tarkistaaksesi pienen "yksikön" toimivuuden. Yksikkötesti on oliopohjainen kehys, joka perustuu testilaitteistoihin.
Python Yksikkötestaustekniikat
Python Yksikkötestaus sisältää pääasiassa tietyn moduulin testaamisen ilman riippuvaisen koodin käyttöä. Kehittäjät voivat käyttää tekniikoita, kuten typpejä ja pilkkoja, erottaakseen koodin "yksiköiksi" ja suorittaakseen yksikkötason testauksen yksittäisille kappaleille.
- Testattu kehitys TDD: Yksikkötestaus tulee tehdä yhdessä Python, ja kehittäjät käyttävät tätä varten Test-Driven Development -menetelmää. TDD-menetelmässä suunnittelet ensin Python Yksikkötestit ja vasta sitten jatkat tämän ominaisuuden toteuttavan koodin kirjoittamista.
-
Stubit ja pilkkaat: Ne ovat kaksi päätekniikkaa, jotka simuloivat testattavia väärennettyjä menetelmiä. A Tynkä käytetään täyttämään joitakin riippuvuuksia, joita tarvitaan yksikkötestin suorittamiseen oikein. A Pilkata toisaalta on väärennösobjekti, joka suorittaa testit, joihin laitamme väitteen.
Molemmilla menetelmillä on sama tarkoitus eliminoida luokan tai funktion kaikkien riippuvuuksien testaus.
Python Yksikkötestauskehys
Yksikkötestausprosessin helpottamiseksi ja projektin laadun parantamiseksi on suositeltavaa Python Yksikkötestauskehys. Yksikkötestauskehys sisältää
-
PyUnit: PyUnit tukee kalusteita, testitapauksia, testipaketteja ja testiajoa koodin automaattiseen testaukseen. PyUnitissa voit järjestää testitapaukset sarjoiksi samoilla kalusteilla
-
Nenä: Nosen sisäänrakennetut laajennukset auttavat sinua sieppaamaan lähdön, koodin peiton, doktestit jne. Nosen syntaksi on melko yksinkertaisempi ja vähentää esteitä testien kirjoittamiselle. Se ulottuu Python unittest testaamisen helpottamiseksi.
- Tohtori: Doctest-testausskripti menee dokumenttimerkkijonoon, jossa on pieni funktio tiedoston alaosassa. Doctestin avulla voit testata koodiasi suorittamalla dokumentaatiossa olevia esimerkkejä ja varmistamalla, että ne tuottivat odotetut tulokset. Dotestin käyttötapaus on vähemmän yksityiskohtainen, eikä se ota kiinni erityistapauksista. Ne ovat hyödyllisiä moduulin ja sen komponenttien pääkäyttötapauksen ilmeikkäänä dokumenttina.
Yksikkötestaus PyUnitilla
Pyunit on a Python satama JUnit. Pyunitin osana unittest-moduulissa on viisi avainluokkaa.
- TestCase-luokka: TestCase-luokka kantaa testirutiinit ja tarjoaa koukut jokaisen rutiinin tekemiseen ja siivoamiseen sen jälkeen
- TestSuite luokka: Se toimii keräysastiana, ja siinä voi olla useita testcase-objekteja ja useita testsuites-objekteja
- TestLoader-luokka: Tämä luokka lataa paikallisesti tai ulkoisesta tiedostosta määritellyt testitapaukset ja sarjat. Se lähettää testisarjan esineitä, jotka omistavat nämä sarjat ja kotelot
- TextTestRunner luokka: Testien suorittamiseen se tarjoaa standardialustan testien suorittamiseen
- TestResults luokka: Se tarjoaa standardisäiliön testituloksille
Testikotelon suunnittelu Python Testaus PyUnitilla
Yksikkötesti tarjoaa perusluokan, testitapauksen, jota voidaan käyttää uusien testitapausten luomiseen. Testitapauksen suunnittelussa käytetään kolmea menetelmää
unittest.TestCase
setUp() teardown() skipTest(aMesg:string) fail(aMesg:string) id():string shortDescription():string
Ensimmäisessä sarjassa ovat esi- ja jälkikoukut. Setup()-menetelmä alkaa ennen jokaista testirutiinia, teardown() rutiinin jälkeen.
Toinen menetelmäsarja ohjaa testin suorittamista. Molemmat menetelmät ottavat syötteenä viestimerkkijonon ja kumpikin peruuttavat käynnissä olevan testin. Mutta skiptest()-menetelmä keskeyttää nykyisen testin, kun taas fail()-menetelmä epäonnistuu sen kokonaan.
Viimeinen tai kolmas menetelmä auttaa määrittämään testin. Metodi id() palauttaa merkkijonon, joka koostuu testcase-objektin ja testirutiinin nimestä. Ja menetelmä lyhytDescription() palauttaa docstr-kommentin jokaisen testirutiinin alussa.
Käytön edut Python Yksikkötestaus
- Se auttaa sinua havaitsemaan virheet varhaisessa kehitysvaiheessa
- Se auttaa sinua kirjoittamaan parempia ohjelmia
- Se synkronoidaan helposti muiden testausmenetelmien ja työkalujen kanssa
- Siinä tulee olemaan paljon vähemmän bugeja
- Sitä on helpompi muokata tulevaisuudessa hyvin pienemmillä seurauksilla