2017-12-14 5 views
0

Mit Python und nosetests Ich habe die folgende Konfiguration:Wie man Variablen vom Setup zu Tests im nosetest übergibt?

- package 
    - __init__.py 
    - test1.py 
    - test2.py 

Das __init__.py Modul enthält eine Einstellfunktion

def setup(): 
    print("Setup called") 
    var = 42 

, die später verwendet werden, werden einen einzigartigen identifiziert (Unterschied zwischen dem Ausführen der Tests zu erstellen , aber das gleiche für alle Tests innerhalb des Pakets). Wie können die Tests selbst auf diese Variable zugreifen (in diesem Beispiel var)? Die Testskripte sind nur einige Stubs:

from nose.tools import assert_true 

class TestSuite(object): 
    def test1(self): 
     # How to get content of 'var' here? 
     assert_true(True) 

Gibt es einen pythonic Weg, dies zu tun, oder einfach nur eine Umgebungsvariable verwenden, dies zu tun?

Antwort

1

Nase nennt .setup() Methoden innerhalb von Klassen:

class Test: 
    def setup(self): 
     self.var = 1 

    def test_print_var(self): 
     print(self.var) 

Dies gilt auch für Methoden aus anderen Ländern geerbt:

class TestBase: 
    def setup(self): 
     self.var = 1 

class Test(TestBase): 
    def test_print_var(self): 
     print(self.var) 
Verwandte Themen