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ää

Python Yksikkötestaustekniikat

  • 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.

Yksikkötestaus PyUnitilla

  • 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ää

Testikotelon suunnittelu Python

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

Päivittäinen Guru99-uutiskirje

Aloita päiväsi uusimmilla ja tärkeimmillä tekoälyuutisilla, jotka toimitetaan juuri nyt.