2014-09-04 3 views
0

최대한 명확하게하려고 노력할 것입니다. 나는 지금 잠시 동안 단위 테스트를 연습 해왔고, 이제 아래 코드를 테스트하는 방법을 알아 내려고 노력 중입니다.범위 테스트를 통한 단위 테스트

def main(): 

    for i in range(100): 
     print("Argh!") 

그래서 나는 "Argh!"의 100 번 반복을 테스트하려고합니다. stdout이 테스트를 통과했는지 확인하십시오. 나는 심지어 단위 테스트를 시작하는 방법조차 모르겠다. on 이것 아주 간단한 것처럼 보이지만.

미리 감사드립니다.

+0

...이 모의 쉽게되고, 당신은 python3를 사용하는 가정? – mgilson

답변

0

python2 또는 python3

import unittest 
import mock # possibly "from unittest import mock" depending on version. 
import main_module 

class TestMain(unittest.TestCase): 
    def test_main(self): 
     with mock.patch.object(main_module, 'print') as mock_print: 
      mock_module.main() 
     expected_calls = [mock.call('Argh!') for _ in range(100)] 
     mock_print.assert_has_calls(expected_calls) 

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

니스! 나머지 유닛 테스트 클래스를 추가 하시겠습니까? – SalceCodec

관련 문제