näsa-testconfig är en enkel testkonfiguration plugin för näsan för att enkelt låta uppgifter om ett system-under-test för att föras in via en konfigurationsfil via nosetests.
Det är tänkt att vara enkel, flexibel och tydlig. Det nuvarande stödet YAML, INI och rena Python konfigurationsfiler.
vad den gör
näsa-testconfig är en plugin för att testramen näsan som ger en fakultet för att passera testet specifika (eller provköras specifik) konfigurationsdata till testerna utförs.
För närvarande konfigurationsfiler i följande format stöds:
& Nbsp; * YAML (via PyYAML)
& Nbsp; * INI (via ConfigParser)
& Nbsp; * Ren Python (via Exec)
Insticksprogrammet är tänkt att vara flexibel, ergo stöd av exec'ing godtyckliga python-filer som konfigurationsfiler utan kontroller. Standardformatet antas vara ConfigParser ini-stil format.
Insticksprogrammet ger en metod för att åsidosätta vissa parametrar från kommandoraden (förutsatt att den viktigaste "config" objektet är en dict) och kan lätt ha ytterligare tolkar läggas till.
Testa Användning
För nu (tills något bättre kommer tillsammans) tester kan importera "config" Singleton från testconfig:
från testconfig import config
Som standard YAML filer tolka in en kapslad ordbok, och ConfigParser ini filer också kollapsade i en kapslad ordbok för foo [bar] [Baz] tillgång stil. Tester kan naturligtvis komma åt konfigurationsdata genom att referera relevanta ordbok nycklar:
från testconfig import config
def test_foo ():
& Nbsp; target_server_ip = config ['servrar'] ['webapp_ip']
Varning: Med tanke på detta är bara en ordbok sing kan tester enkelt skriva in i konfigurationen. Detta innebär att dina tester kan skriva in konfigurationsutrymmet och eventuellt ändra den. Detta innebär också att gäng tillgång till konfigurationen kan vara intressant.
När du använder ren python konfiguration - uppenbarligen "himlen är gränsen" - med tanke på att konfigurationen laddas via en ledn, du skulle kunna ändra näsa, plugin, etc. Men om du inte exporterar en config {} dict som en del av din Python-kod, du uppenbarligen inte kommer att kunna importera konfigurationsobjekt från testconfig.
När du använder YAML-stil konfiguration, får du en hel del av kraften i ren python utan risk för oskyddade exec () - du kan naturligtvis använda pyaml python-specifika objekt och alla andra YAML gräddig godhet
- Unicode-stöd för konfigurationsfiler (dhellmann)
- kolon är tillåtna i användarens argument, såsom --tc url: 127.0.0.1: 5000 (aconrad)
- konfigurationsfil inte längre behövs, --tc alternativ kan lämnas ensam (aconrad)
Vad är nytt i version 0.6:
- Lägg i kontroll av 3 olika miljövariabler som motsvarar den som stöds typer konfigurationsfil. Ställa en av dessa till hela sökvägen till en viss konfigurationsfil kommer att tvinga näsa-testconfig till automatisk laddning som fil. Praktiskt om du vill köra ett test som importerar testconfig modulen igenom något liknande pychecker (eller köra den från kommandoraden).
Krav :
- Python
Kommentarer hittades inte