2012-08-16 4 views
1

파이썬의 doctest를 .txt 파일 (즉, docstring이 아닌)에서 실행하고 싶지만 커맨드 라인으로 가고 싶지 않습니다..py 파일의 텍스트 파일에서 doctest를 실행 하시겠습니까?

파이썬 -m doctest가 MYFILE.TXT

내가 명령 줄에서 작업을 수행하지 않으려는 이유는 그냥 비주얼 스튜디오를 마칠 수 없다는 것입니다. 나는 F5와 함께 그것을 실행하고 VS에서뿐만 아니라 내 출력을보고 싶다.

질문 : 명령 줄이 아닌 .py 파일에서 doctest를 실행하려면 어떻게해야합니까?

답변

2

체크 아웃 doctest.testfile. 나는

여기 사용 예제 doctest.py에서 소스의 일부입니다 ... 그게 당신이 원하는 것을 할 것이라고 생각 :

def _test(): 
    testfiles = [arg for arg in sys.argv[1:] if arg and arg[0] != '-'] 
    if not testfiles: 
     name = os.path.basename(sys.argv[0]) 
     if '__loader__' in globals():   # python -m 
      name, _ = os.path.splitext(name) 
     print("usage: {0} [-v] file ...".format(name)) 
     return 2 
    for filename in testfiles: 
     if filename.endswith(".py"): 
      # It is a module -- insert its dir into sys.path and try to 
      # import it. If it is part of a package, that possibly 
      # won't work because of package imports. 
      dirname, filename = os.path.split(filename) 
      sys.path.insert(0, dirname) 
      m = __import__(filename[:-3]) 
      del sys.path[0] 
      failures, _ = testmod(m) 
     else: 
      failures, _ = testfile(filename, module_relative=False) 
     if failures: 
      return 1 
    return 0 


if __name__ == "__main__": 
    sys.exit(_test()) 
+0

정확히 바로, 감사합니다. 다음 '코드' 수입 SYS, doctest가 doctest.testfile (sys.argv에 [1]) '코드' 은 내가 VS 프로젝트, tester.py 내 주요 파일과 매우 간단한 파일을 갔다 방금 프로젝트 속성에서 테스트 할 파일 인 단일 스크립트 인수를 지정했습니다. –

관련 문제