Lekce 6 - Testování v Pythonu - Unit testy reálných aplikací III
V minulé lekci, Testování v Pythonu - Unit testy reálných aplikací II, jsme si rozebírali zdrojový kód testující DAO třídu k ukládání entit do databáze.
Dnešním tutoriálem uzavřeme příklady unit testů v Pythonu s použitím knihovny unittest. Ukážeme si, jak testovat generátory náhodných dat pomocí analýzy rovnoměrnosti distribuce a Levenštejnovy vzdálenosti.
Testování generátoru náhodných dat
Jako poslední příklad jsme pro vás vybrali test generátoru náhodných tokenů. Generátory nějakých (nejčastěji náhodných nebo unikátních) hodnot se v našich aplikacích mohou vyskytovat celkem často. Jak ale otestovat něco, co nabývá vždy jiné hodnoty?
Generujeme-li čísla, základním testem obvykle bývá kontrola rozsahu hodnot a frekvence výskytu těchto hodnot. Měla by se objevovat pouze povolená čísla a každé se stejnou pravděpodobností. Jsou-li hodnoty využívány ke kryptografickým účelům, například při generování hesel, existují k jejich ověření další speciální testovací algoritmy, které jsou nad rámec tohoto kurzu.
Generujeme-li textové řetězce, budeme testovat vlastnosti těchto hodnot, tedy to, zda splňují předpis a zda jsou skutečně náhodné (pseudonáhodné).
Při porovnávání textových řetězců se v programování setkáme
...konec náhledu článku...
Pokračuj dál
Došel jsi až sem a to je super! Věříme, že ti první lekce ukázaly něco nového a užitečného.
Chceš v kurzu pokračovat? Přejdi do prémiové sekce.
Koupit tento kurz
Obsah článku spadá pod licenci Premium III, koupí článku souhlasíš se smluvními podmínkami.
- Neomezený a trvalý přístup k jednotlivým lekcím.
- Kvalitní znalosti v oblasti IT.
- Dovednosti, které ti pomohou získat vysněnou a dobře placenou práci.
Popis článku
Požadovaný článek má následující obsah:
V tutoriálu se naučíme pokrýt unit testy generátor náhodných tokenů v Pythonu pomocí analýzy rovnoměrnosti distribuce a Levenštejnovy vzdálenosti.
Kredity získáš, když podpoříš naši síť. To můžeš udělat buď zasláním symbolické částky na podporu provozu nebo přidáním obsahu na síť.