Vodič za PyUnit: Okvir za testiranje Python jedinice (s primjerom)

Sadržaj:

Anonim

Što je jedinstveno testiranje?

Jedinstveno testiranje u Pythonu vrši se radi identificiranja programskih pogrešaka u ranoj fazi razvoja aplikacije kada se programske pogreške manje ponavljaju i jeftinije ispravljaju.

Jedinstveni test je skriptirani test na razini koda dizajniran u Pythonu za provjeru male "jedinice" funkcionalnosti. Jedinstveni test je objektno orijentirani okvir zasnovan na ispitnim tijelima.

Python jedinice za testiranje

Python Unit Testiranje uglavnom uključuje testiranje određenog modula bez pristupa bilo kojem ovisnom kodu. Razvojni programeri mogu se koristiti tehnikama poput klatna i podsmijeha za odvajanje koda u "jedinice" i pokretanje testiranja nivoa jedinice na pojedinačnim dijelovima.

  • Test-Driven Development TDD: Jedinstveno testiranje treba obaviti zajedno s Pythonom, a za to programeri koriste metodu Test-Driven Development. U TDD metodi prvo dizajnirate Python Unit testove, a tek onda nastavljate s pisanjem koda koji će implementirati ovu značajku.
  • Stubs and Mocks: Dvije su glavne tehnike koje simuliraju lažne metode koje se ispituju. Stub se koristi za popuniti neke ovisnosti potrebnih za jedinice test za pokretanje ispravno. Mock s druge strane je lažni objekt koji radi ispitivanja, gdje smo stavili potvrditi.

    Namjere obje metode su iste kako bi se eliminiralo testiranje svih ovisnosti klase ili funkcije.

Okvir za testiranje Python jedinice

Da biste olakšali postupak jedinstvenog testiranja i poboljšali kvalitetu vašeg projekta, preporučuje se Python Framework za jedinstveno testiranje. Okvir jediničnog ispitivanja uključuje

  • PyUnit: PyUnit podržava uređaje, test slučajeve, testne pakete i test runner za automatizirano testiranje koda. U PyUnit-u možete organizirati test slučajeve u apartmane s istim uređajima
  • Nos: Ugrađeni dodaci za nos pomažu vam u hvatanju izlaza, pokrivanju koda, doctestima itd. Sintaksa nosa prilično je jednostavnija i smanjuje prepreke za pisanje testova. Proširuje Python unittest kako bi olakšao testiranje.
  • Doctest: Doctest skripta za testiranje ide u docstring s malom funkcijom na dnu datoteke. Doctest vam omogućuje testiranje koda pokretanjem primjera uključenih u dokumentaciju i provjerom da li su vratili očekivane rezultate. Slučaj upotrebe doctesta manje je detaljan i ne uzimajte u obzir posebne slučajeve. Korisni su kao izražajna dokumentacija o glavnom slučaju upotrebe modula i njegovih komponenata.

Jedinstveno testiranje s PyUnit-om

Pyunit je Python luka JUnit-a. Kao dio Pyunita, u unittest modulu postoji pet ključnih klasa.

  • Klasa TestCase : Klasa TestCase nosi test rutine i isporučuje kuke za izradu svake rutine i čišćenje nakon toga
  • Klasa TestSuite : Služi kao spremnik za prikupljanje i može posjedovati više objekata testcase i više objekata testsuita
  • Klasa TestLoader : Ova klasa učitava test slučajeve i pakete definirane lokalno ili iz vanjske datoteke. Emitira testsuite predmete koji posjeduju te apartmane i kućišta
  • Klasa TextTestRunner : Za pokretanje testova zadovoljava standardnu ​​platformu za izvršavanje testova
  • Klasa TestResults : Nudi standardni spremnik za rezultate ispitivanja

Dizajniranje test slučaja za Python testiranje pomoću PyUnit-a

Jedinstveni test pruža osnovnu klasu, test slučaj, koji se može koristiti za stvaranje novih test slučajeva. Za dizajniranje test slučaja koriste se tri seta metoda

unittest.TestCase

setUp()teardown()skipTest(aMesg:string)fail(aMesg:string)id():stringshortDescription():string

U prvom su skupu kuke prije i poslije testiranja. Metoda postavljanja () započinje prije svake testne rutine, uklanjanje () nakon rutine.

Drugi skup metode kontrolira izvršenje testa. Obje metode uzimaju niz poruka kao ulaz i obje otkazuju tekući test. Ali metoda preskakanja () prekida trenutni test, dok metoda fail () u potpunosti zakazuje.

Posljednja ili treća metoda pomažu u određivanju testa. Metoda id () vraća niz koji se sastoji od imena testcase objekta i test rutine. A metoda shortDescription () vraća komentar docstr na početku svake test rutine.

Prednosti upotrebe Python Unit testiranja

  • Pomaže vam otkriti bugove u ranom razvojnom ciklusu
  • Pomaže vam u pisanju boljih programa
  • Lako se sinkronizira s drugim metodama i alatima za ispitivanje
  • Imat će mnogo manje bugova
  • Lakše je modificirati u budućnosti s vrlo manje posljedica