2017-12-06 105 views
5

Her biri farklı testler içeren farklı modüllerdeki (dosyalar) test durumlarıyla birlikte bir çift nosetests çalıştırıyorum.Kurma metodu, sadece nosetest ile test sırasında bir kez nasıl adlandırılır?

nosetest ile yürütme sırasında yalnızca bir kez çağrılan bir işlev/yöntem tanımlamak istiyorum.

ben documentation (ve örneğin here) baktı ve setup_module vb gibi yöntemler vardır bakınız - ama nerede ve nasıl kullanılacakları? Onları __init__.py'a ekle? Başka bir şey?

aşağıdaki kullanmaya çalıştı:

class TestSuite(basicsuite.BasicSuite): 
    def setup_module(self): 
     print("MODULE") 

    ... 

ama nosetest ile testini çalıştırdığınızda bu çıktı asla bitmez. Ayrıca unittest.TestCase'dan (hatalara neden olacak) türemiyorum.

cevap

9

Paket düzeyine baktığınızda, bu pakete aitadlı __init__.py numaralı bir işlevi tanımlayabilirsiniz. Bu pakette bulunan testleri çağırıyorsanız,'daki setup işlevine bir kez denir.

Örnek kurulum

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

documentation bölümüne 'Test paketleri' bakınız.

1

o ^^

yardımcı bu

from nose import with_setup 

def my_setup_function(): 
    print ("my_setup_function") 

def my_teardown_function(): 
    print ("my_teardown_function") 

@with_setup(my_setup_function, my_teardown_function) 
def test_my_cool_test(): 
    assert my_function() == 'expected_result' 

Holp deneyin