Enote-testi so močno orodje za razvijalce, da zagotovijo kakovost svojega kode. Omogočajo ti, da testiraš funkcije izolirano in zagotoviš, da delujejo, kot je željeno. V tem priročniku ti bom pokazal, kako napišeš svoj prvi enotni test v Python. Pri tem se ne boš naučil le osnov enotnega testiranja, temveč tudi, kako lahko svoja testiranja učinkovito oblikuješ.
Najpomembnejše ugotovitve
- Enotni testi pomagajo zgodaj odkriti napake in zagotavljajo, da tvoje funkcije delujejo, kot je željeno.
- Pythonova knjižnica unittest ponuja enostaven način za implementacijo testov.
- Učinkoviti testi vključujejo tako pozitivne kot negativne scenarije in preverjajo podatkovne tipe povratnih vrednosti.
Navodila po korakih
Korak 1: Priprava tvojega projekta
Najprej potrebuješ datoteko Python, v kateri je definirana tvoja funkcija. V našem primeru bomo datoteko poimenovali preisberechnung.py. Tukaj definiraj funkcijo get_verkaufspreis, ki prevzame nakupno ceno in doda maržo.

Korak 2: Ustvari datoteko za svoje enotne teste
Nato ustvari novo datoteko, ki naj vsebuje teste za to funkcijo. Poimenujmo jo preisberechnung_test.py. Tukaj boš delal z modulom unittest.
Za uporabo ogrodja ga uvozi na začetku svoje datoteke:

Korak 3: Definiraj testno razred
Testna klasa naj bi podedovala unittest.TestCase. To ti omogoča, da vse teste organiziraš v strukturirani obliki. Imej razred poimenovan PreisberechnungTest, da bo jasno, kaj se testira.

Korak 4: Napiši svoje teste
Zdaj je čas, da napišeš dejanske teste. Začni s testom, ki preverja, ali ima vrnitev iz get_verkaufspreis pričakovani tip (float):

Korak 5: Testiraj neveljavne vnose
Poleg tega je pomembno testirati tudi neveljavne vnose. Dodaj test, ki preverja, ali funkcija ob neveljavnih vnosih, kot sta None ali niz, vrne izjemo:

Korak 6: Izvedi teste
Da izvedeš svoje teste, to lahko storiš preko terminala ali neposredno v svoji IDE. Če uporabljaš terminal, izpelji naslednje:
V svoji IDE, kot je PyCharm, lahko uporabiš konfiguracijo za zagon, da izvedeš teste.

Korak 7: Preveri rezultate
Ko uspešno izvedeš teste, boš prejel izhod, ki ti pove, ali so vsi testi bili opravljeni. Zeleni rezultat pomeni, da tvoj koda deluje, kot je predvideno.
Korak 8: Razširi teste
Ob dodatku osnovnim testom lahko dodaš še dodatne relevantne scenarije za povečanje varnosti kode. Upoštevaj, da preizkusiš tako pozitivne kot negativne primere, da zagotoviš, da tvoja logika deluje v vseh situacijah.

Sklepi - Prvi enotni test z Python: Osnove in izvajanje
Pisanje enotnih testov je pomembna spretnost, ki ti pomaga, da svoj koda zagotoviš zanesljivo. V tem priročniku si se naučil, kako napisati prvi enotni test v Pythonu, od definicije funkcije do izvajanja in preverjanja rezultatov. S tem, da temeljito testiraš, se vzdržljivost tvoje kode bistveno povečuje in težave se zgodaj odkrijejo.
Pogosto zastavljena vprašanja
Kako ustvarim enotni test v Pythonu?Da ustvariš enotni test v Pythonu, ustvari testno class, ki podeduje unittest.TestCase, in piši teste kot metode te razreda.
Zakaj naj pišem enotne teste?Enotni testi pomagajo zgodaj odkriti napake in zagotavljajo, da tvoje funkcije delujejo, kot je željeno.
Kako izvedem enotne teste?Enotne teste lahko izvedeš preko terminala z python -m unittest [ime_datoteke] ali neposredno v svoji IDE.
Kaj so dobre prakse za enotne teste?Dobra praksa vključuje tako pozitivne kot negativne testne scenarije ter preverjanje podatkovnih tipov. Prav tako je pomembna rednost izvajanja, da se spremembe v kodi takoj preverijo.