2011-08-31 2 views
0

나는 unittest로 시작하여 파이썬 튜토리얼을 읽고 http://pyunit.sourceforge.net/을 보았습니다.pyunit을 가진 '외부'프로그램을위한 단위 테스트 확장

저는 입력 덱에 파이썬을 사용하는 분석 소프트웨어 (prog.exe라고 부름)가 있습니다. 필자는 유용한 입력 기능을 제공하기 위해 입력 덱에서 가져올 파이썬 모듈을 작성하기 시작했습니다. 따라서, 이러한 분석 중 하나를 실행하면 다음과 같이 갈 것입니다 : mymodule

from mymodule import mystuff 

그래서 내가 설정 어떻게하고 실행 테스트 :

prog.exe inputdeck.py

inputdeck.py 포함 어디? 위의 시스템 호출에서 setUp 테스트 방법 중 무엇입니까?


확인 - 솔루션 :이 명령 줄 도구입니다으로

unittest.main()를 사용하지 마십시오. 대신 다음과 같이 직접 해당 유닛 테스트 메서드를 호출 :

prog.exe mytests.py 

mytests.py 포함 : 명령 줄에서 다음을 실행합니다

import unittest 
# ... code to run the analysis which we'll use for the tests ... 
# ... test definitions ... 
suite = unittest.TestLoader().loadTestsFromTestCase(test_cases) 
unittest.TextTestRunner().run(suite) 

참조 예를 http://docs.python.org/release/2.6.7/library/unittest.html#unittest.TextTestRunner에서

답변

0

Pyunit이 조금 (python core distribution)에 완전히 포함되었습니다 (http://docs.python.org/library/unittest.html). 이 설명서를 읽어야합니다 (특히 basic example part).

이의이 mymodule_test.py를 호출하자 이런 식으로 뭔가를 넣어, 당신이 파일을 만들어야합니다 모듈을 테스트하려면 :

import unittest 
from mymodule import mystuff 

class MyTestCase(unittest.TestCase): 
    def test_01a(self): 
     """ test mystuff""" 
     self.failUnless(mystuff.do_the_right_stuff()) 

if __name__ == '__main__': 
    unittest.main() 

python mymodule_test.py

+0

네와 실행, 그게 무슨 다이빙의 -into-python 자습서 (일부에서는 오래된 것임)에 설명되어 있습니다. 하지만 그렇게한다면, prog.exe는 결코 관련이 없으므로 그 자료를 mymodule로 테스트 할 수 없습니다. 내가 추측하는 문제는 명령 행에서 "python mymodule_test.py"와 "prog.exe"를 모두 호출하기를 원한다는 것이며,이를 해제하는 방법을 볼 수 없다는 것입니다. – lost