2017-12-06 9 views
5

각기 다른 테스트를 포함하는 서로 다른 모듈 (파일)에 테스트 케이스가있는 nosetests을 실행 중입니다.nosetest를 사용하여 테스트하는 동안 한 번만 호출되는 설치 방법을 정의하는 방법은 무엇입니까?

nosetest으로 실행 중에 한 번만 호출되는 함수/메소드를 정의하려고합니다.

나는 documentation (예 : here)을보고 setup_module 등의 메소드가 있음을 알았지 만, 어떻게 그리고 어떻게 사용합니까? 그들을 내 __init__.py에 넣으시겠습니까? 다른 것?

나는 다음과 같은 사용하려 :

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

    ... 

하지만 nosetest로 테스트를 실행할 때이 출력이 완료되지 않습니다. 또한 unittest.TestCase에서 파생되지 않습니다 (오류가 발생합니다).

답변

9

패키지 레벨을 볼 때 해당 패키지의 __init__.pysetup이라는 함수를 정의 할 수 있습니다. 이 패키지의 테스트를 호출하면 __init__.py에있는 setup 함수가 한 번 호출됩니다.

예 설정

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

documentation 섹션 '테스트 패키지'를 참조하십시오.

1

이 ^^

하는 데 도움이 하나

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 시도