„Python“

„Python Unittest“ mokymo programa

„Python Unittest“ mokymo programa

Vieneto testavimas yra bandymo metodas, naudojamas programinės įrangos inžinerijoje atskiriems bet kokio kodo vienetams. Vartotojai gali atlikti atskirus testus, kad nustatytų šaltinio būseną ir kiek kodas yra tinkamas naudoti. Tokiu būdu vartotojai gali patikrinti kodo kokybę.

Testavimas atliekamas baigus kūrimo procesą. Vartotojai taip pat gali pradėti testuoti, kai reikia patikrinti bandomąjį scenarijų pagal testavimo kriterijus. Kūrėjai turėtų parašyti rankinius šaltinio kodo tipus. Paprastai rankinis vieneto testavimo kodų rašymas yra įtempta užduotis, tačiau „Python“ tai atliekama naudojant įmontuotą funkciją, vadinamą unittest.

Unittest

„Python“ bandymai atliekami naudojant „unittest“ sistemą. Vieneto testavimas daro kodą saugų ir patogų naudoti ir ateityje. Vartotojai paprastai negali numatyti šių atvejų, tačiau gali lengvai juos išspręsti. „Unittest“ gali būti visas modulis, tam tikra funkcija ir visa sąsaja (klasė / modulis).

Kaip parašyti kodo vieneto testus?

Norėdami parašyti kodo vieneto testus, visada pradėkite nuo mažiausio vieneto, kurį galima patikrinti iš viso jūsų kodo, tada pereikite prie kitų vienetų. Tokiu būdu patikrinsite, kaip sąveikauja mažiausias pasirinktas įrenginys, kad sukurtumėte viso vieneto testą.

„Python“ vieneto testavimo sistema buvo suformuota atsižvelgiant į Java „Junit“. Jis turi tas pačias funkcijas, kaip vieneto testavimas atliekamas kitomis skirtingomis kalbomis. „Python“ vienetų testavimo sistema padeda atlikti automatizavimo bandymus, nustatyti dalijimąsi, daugelio bandymų sujungimą į vieną didelį rinkinį ir nepriklausomus testus

Pavyzdžiai:

Dabar pavyzdyje mes tikriname kodą, norėdami sužinoti sumą Python kode naudodami sum () funkciją. Atsakymas į šį apibendrinimą turi būti teisingas.

>>> tvirtinimo suma ([2, 4, 6]) == 12, "Turėtų būti lygus 12"

Kita vertus, jei bandysime parašyti neteisingą išvesties vertę, kurios suma () yra neteisinga, rezultatai nepavyks. Tai grąžins „AssertionError“. Mūsų nurodyta išvestis yra neteisinga, ty 12, o faktinė išvestis turi būti 6, todėl ji grąžino šią klaidą.

>>> tvirtinimo suma ([2, 2, 2]) == 12, "Turėtų būti lygi 12"

Užuot bandę REPL, įdėsime naują „Python“ failą ir jį pavadinsime test_sum.py

>> def testValue_sum ():
teigti sumą ([2, 4, 6]) == 12, "Turėtų būti lygi 12"
jei __pavadinimas = = "__main__":
testValue_sum ()
spausdinti („Viskas perduota teisingai“)

Parašę bandomąjį atvejį, galite pasiekti katalogą, kuriame yra test_sum.py failą ir įveskite:

$ python test_sum.py

Rezultatas:

Išvesties vertė, kai ji yra panaši į rodomą, patvirtins teisingą vertę.

Sukurkime dar vieną failą .py išbandyti sumą. Kode pateiktas pavyzdys, kurį galima naudoti kaip pavyzdį kopijuojant:

def testValue_sum ():
teigti sumą ([2, 4, 6]) == 12, "Turėtų būti lygus 12"
def testValue_sum_tuple ():
teigti sumą ((1, 1, 1)) == 6, "Turėtų būti lygi 6"
jei __pavadinimas = = "__main__":
testValue_sum ()
testValue_sum_tuple ()
spausdinti („Viskas perduota teisingai“)

Šį kartą dar kartą pavadinsime failą test_sum.py 

Pirmasis kodo blokas yra teisingas, o antrasis - neteisingas ir turi klaidą, todėl mūsų išvestis grąžins tą patį.

Dabar grįšime į projekto katalogą, kuriame išsaugojome .py failą, ir tada išbandykite failą naudodami šią komandą:

$ python test_sum.py

Rezultatas:

Šį kartą, nes įvesties kode buvo klaida, tikimasi, kad atsakymas pateiks klaidą „Tvirtinimas“.

„Unittest“ naudojimo pavyzdys:

Vienareikšmiški reikalavimai yra tai, kad vartotojai gali skirstyti savo testus į klases kaip skirtingus metodus, vartotojai gali naudoti teiginių metodų seriją, o „TestCase“ klasė gali būti naudojama vietoje teiginio teiginio.

Vartotojai gali konvertuoti ankstesnėje pusėje aptartą pavyzdį į vienodą bandymo atvejį.

Pirma, importuokite vieningąją biblioteką. Tada turite sukurti skirtingų klasių TestSum.

Sukurkite naują toliau aptarto kodo failą:

importuoti vieningai
klasės TestSum (unittest.TestCase):
def testValue_sum (savarankiškai):
savarankiškai.assertEqual (suma ([2, 4, 6]), 12, "Turėtų būti lygi 12")
def testValue_sum_tuple (savęs):
savarankiškai.assertEqual (suma ((1, 1, 1)), 6, „Turėtų būti lygi 6“)
jei __pavadinimas = = '__main__':
vieningiausias.pagrindinis ()

Vykdžius šią komandą, išvestyje yra taškas. Tai reiškia sėkmę, o F - nesėkmę.

Taigi, mes turime sėkmę, o dar viena - nesėkmė.

Rezultatas:

Pirmo testo rašymas:

Sukurkite naują projekto aplanką, tada sukurkite naują aplanką, jį pavadinsime sum_file. Viduje sukurkite failą ir pavadinkite jį __init__.py.  Padarykite tokį projekto aplanką:

projektas /

└── sum_file /
└── __init__.py

Tada turite atidaryti my_sum / __ init__.py ir sukurkite naują funkcijos sumą (). Bus daug kartų (sąrašas, paketas arba rinkinys) pridėti daug reikšmių:

def suma (arg):
total_ValueCalculated = 0
už val in arg:
total_ValueCalculated + = val
return total_ValueCalculated

Tada turite sukurti testas failą. Pradėkite rašydami testus ir sukurkite bandomąją bylą, vadinamą testFile.py. Norėdami importuoti programą ir ją išbandyti, įdėkite failą testFile.py virš paketo aplanko. Toliau bus pateiktas bendras jūsų katalogo vaizdas:

projektas /

├── sum_file /
│ └── __init__.py
|
└── testFile.py

Kaip aptarta anksčiau, kad išbandytumėte kodą, terminalo lange / komandinėje eilutėje galite naudoti šią komandą:

$ python -m unittest testas

Išvada

Straipsnyje aptariamas „Python“ vieneto testavimo procesas. Testavimas yra viena iš naudingų programinės įrangos inžinerijos funkcijų, kuri sugeba kodus suskirstyti į mažesnius gabalėlius, o po to juos išbandyti po vieną. Vartotojai taip pat gali surinkti visus bandomuosius pavyzdžius / vienetų kodus į vieną didelę kolekciją. „Unittest“ yra viena „Python“ naudojama funkcija, leidžianti lengvai naudoti testavimą.

Kaip pakeisti kairįjį ir dešinįjį pelės mygtukus „Windows 10“ kompiuteryje
Gana įprasta, kad visi kompiuterio pelės įrenginiai yra ergonomiškai sukurti dešiniarankiams. Tačiau yra pelių prietaisų, specialiai sukurtų kairiaran...
Mėgdžiokite pelės paspaudimus, užveskite pelės žymeklį naudodami pelę „Clickless Mouse“ sistemoje „Windows 10“
Pelės ar klaviatūros naudojimas netinkamoje laikysenoje, kai naudojama per daug, gali sukelti daug sveikatos problemų, įskaitant įtampą, riešo kanalo ...
Pridėkite pelės gestus prie „Windows 10“ naudodami šiuos nemokamus įrankius
Pastaraisiais metais kompiuteriai ir operacinės sistemos labai išsivystė. Buvo laikas, kai vartotojai turėjo naudoti komandas naršydami per failų tvar...