neus-testconfig is een eenvoudige test configuratie plugin voor neus ontworpen om gemakkelijk te maken van gegevens over een systeem-under-test om te worden doorgegeven via een configuratiebestand via nosetests.
Het is bedoeld eenvoudig, flexibel en duidelijk zijn. Het huidige steun YAML, INI en pure Python configuratiebestanden.
Wat het doet
neus-testconfig is een plugin om de neus toetsingskader dat een faculteit voor het doorgeven van Test-specifieke (of-test uit te voeren specifieke) configuratiegegevens aan de tests wordt uitgevoerd biedt.
Momenteel configuratiebestanden in de volgende formaten worden ondersteund:
& Nbsp; * YAML (via PyYAML)
& Nbsp; * INI (via ConfigParser)
& Nbsp; * Pure Python (via Exec)
De plugin is bedoeld om flexibel te zijn, ergo de steun van exec'ing willekeurige python-bestanden als configuratie-bestanden zonder controles. Het standaard formaat wordt verondersteld ConfigParser ini-stijl formaat.
De plugin biedt een methode om dwingende bepaalde parameters vanaf de opdrachtregel (ervan uitgaande dat de belangrijkste "config" object is een DICT) en kan gemakkelijk hebben extra parsers toegevoegd.
Test Usage
Voor nu (totdat er iets beters langskomt) tests kunnen de "config" singleton importeren vanuit testconfig:
van testconfig import config
Standaard YAML bestanden ontleden in een geneste woordenboek, en ConfigParser ini-bestanden worden ook samengevoegd in een geneste woordenboek voor foo [bar] [baz] toegang stijl. Tests kan uiteraard configuratiegegevens openen door te verwijzen naar de relevante woordenboek toetsen:
van testconfig import config
def test_foo ():
& Nbsp; target_server_ip = config ['servers'] ['webapp_ip']
Waarschuwing: Gezien dit is gewoon een woordenboek singleton, kan testen gemakkelijk schrijven in de configuratie. Dit betekent dat uw tests kunnen schrijven in de config ruimte en eventueel te veranderen het. Dit betekent ook dat de schroefdraad toegang tot de configuratie interessant zijn.
Bij het gebruik van pure python configuratie - uiteraard de "hemel is de de limiet" - gezien het feit dat de configuratie via een exec is geladen, je zou kunnen wijzigen neus, de plug-in, etc. Echter, als je niet een config {} dict exporteren als een deel van je python code, zal je natuurlijk niet in staat zijn om het config object importeren uit testconfig.
Bij het gebruik van YAML-stijl configuratie, krijg je een groot deel van de kracht van pure python zonder het gevaar van onbeschermde exec () - u kunt de pyaml python-specifieke objecten en alle andere YAML romige goedheid uiteraard gebruiken
- Unicode-ondersteuning voor configuratiebestanden (dhellmann)
- dubbele punten zijn toegestaan in de argumenten van de gebruiker, zoals --tc url: 127.0.0.1: 5000 (aconrad)
- configuratiebestand is niet meer nodig, --tc optie kan alleen worden verstrekt (aconrad)
Wat is nieuw in versie 0.6:
- Voeg in het controleren op 3 verschillende omgevingsvariabelen die overeenkomt met de ondersteunde types config file. Instellen van een van deze naar het volledige pad naar een bepaalde configuratie bestand neus-testconfig dwingen autoload dat bestand. Handig als je wilt een test die de testconfig module importeert door middel van zoiets als pychecker draaien (of uit te voeren vanaf de opdrachtregel).
Eisen
- Python
Reacties niet gevonden