Dtest je testování rámec, podobně jako standardní unittest balíčku poskytnutého Python. Přidanou hodnotou pro Dtest, však je, že výkon testovací je opatřen závitem, a to prostřednictvím použití obalu eventlet. Balíček Dtest také pojem "závislostí" mezi zkoušek a příslušenství - tedy "D" v "Dtest" - což zajistí, že testy nemají běžet, dokud odpovídající nastavení testů příslušenství dokončili, a že strhnout zkušební příslušenství neběží, dokud všechny přidružené testy dokončili. Závislosti mohou být také použity k zajištění toho, aby zkoušky vyžadující dostupnost určitých funkcí není spuštěn v případě, že zkoušky této specifické funkce nezdaří.
Psaní Testy
Nejjednodušší testovací programy jsou jednoduché funkce s názvy začínající s "testem", se nachází v Pythonu zdrojových souborů, jejichž názvy také začít s "testem." Není ani nutné pro import žádnou část rámce Dtest. Pokud jsou testy shromažďovány v třídách, nicméně, nebo je-li používání pokročilejších funkcí Dtest žádoucí, jednoduchý z Dtest import * je nutné. To zpřístupňuje třídu DTestCase -, která by měla být prodloužena o všech třídách, které obsahují testy - stejně jako takové dekorace, jakoskip anottest.
Testy mohou být provedeny s použitím standardního příkazu Python assert; Nicméně, řada rutiny pomůcky jsou k dispozici v dtest.util modulu (také bezpečné pro import *). Mnoho z těchto užitkových rutin mají názvy podobné metodám unittest.TestCase - např dtest.util.assert_dict_equal () je analogická unittest.TestCase.assertDictEqual ().
Testovací svítidla
Rámec Dtest podporuje příslušenství testu - nastavení a strhnout funkce - na úrovni třídy, modulu a balíček. Balení úrovni příslušenství se skládají z funkcí s názvem Nastavení () a teardown () obsažené v souborech "__init__.py"; Stejně tak, na úrovni modulu příslušenství se skládají z funkcí Samed Nastavení () a teardown () v rámci modulů obsahujících testované funkce a třídy zkušebních metod. Na úrovni třídy, třídy mohou obsahovat setUpClass () a tearDownClass () metody třídy (nebo statické metody), které může provádět zřídit a bourat pro každou třídu. Ve všech případech, nastavení () funkce a metoda setUpClass (), jsou provedeny před některý z testů ve stejném rozsahu; Stejně tak, metoda a teardown po všechny zkoušky na daném rozsahu byly provedeny, odpovídající tearDownClass ()) (funkce jsou prováděny.
Rámec Dtest také podporuje per-testu Nastavení () a teardown () funkce nebo metody, které jsou spuštěny před a po každé přidružené zkoušce. Pro třídy, které obsahují zkoušky, každý test automaticky má Nastavení () a teardown () metody třídy jsou s nimi spojeny; Nicméně, pro všechny testy, tyto přípravky mohou být explicitně nastavit (nebo přepsána ze třídy ve výchozím nastavení). Vezměme si následující příklad:
istest
def test_something ():
& Nbsp; # test tady něco
& Nbsp; průchod
@ Test_something.setUp
def something_setup ():
& Nbsp; # dostat vše nastavit připraveni jít ...
& Nbsp; průchod
@ Test_something.tearDown
def something_teardown ():
& Nbsp; # uklidit po sobě
& Nbsp; průchod
V tomto příkladu, je třeba předcházející test_something Dtest malíř (jiné nežnottest) (); Zde jsme použiliistest, ale jakékoliv další dostupné Dtest dekoratér Zde by mohly být použity. To dělá @ test_something.setUp a @ test_something.tearDown dekoratéry k dispozici. (Za něco analogického ve standardní Python, podívejte se na vestavěnéproperty natěrač.)
Running Tests
Spuštění testů pomocí rámce Dtest je docela rovně vpřed. Skript s názvem run-dtests je k dispozici. Ve výchozím nastavení je aktuální adresář je skenován pro všechny moduly nebo balíků, jejichž názvy začínají "test"; hledat také recurses dolů přes všechny balíčky. ("Balíček" je definován jako "adresář obsahující __init__.py".) Jakmile jsou všechny testy jsou objeveny, pak jsou prováděny, a výsledky testů vyzařovaného na standardní výstup.
Jsou k dispozici pro kontrolu chování Run-dtests několik možností příkazového řádku. Například, "--no-přeskočit" volba způsobí run-dtests spustit všechny testy, a to i ty, které zdobískip dekoratér, a "-d" způsobí, Run-dtests hledat konkrétní adresář, spíše než aktuální adresář. Úplný seznam možností, použijte "-h" nebo "--help" možnost volby.
Běh Run-dtests z příkazového řádku není jediný způsob, jak spuštění testů, nicméně. Run-dtests skript je velmi jednoduchý skript, který analyzuje možnosti příkazového řádku (pomocí OptionParser postavený funkcí dtest.optparser ()), převádí tyto volby do souboru klíčových argumentů (pomocí dtest.opts_to_args ()), pak předá tyto klíčové slovo argumenty funkci na dtest.main (). Uživatelé mohou použít tyto funkce k vytvoření stejnou funkcionalitu s uživatelsky specifické rozšíření, jako je poskytnutí alternativní instanci DTestOutput kontrolovat, jak jsou zobrazeny výsledky zkoušek, nebo poskytují alternativní způsob pro řízení, které testy jsou vynechány. . Viz řetězce dokumentace pro těchto funkcí a tříd pro více informací
Požadavky na :
- Python
Komentáře nebyl nalezen