2012-08-16 97 views
1

我想在.txt文件(即不在docstring上)上運行Python的doctest,但我不想去命令行。從.py文件的文本文件運行doctest?

蟒蛇-m文檔測試的myfile.txt

我不想在命令行做的原因是,我只是不想離開的Visual Studio。我想用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

完全正確,謝謝。 我有一個非常簡單的文件在VS的項目,tester.py我的主文件去: '代碼' 進口SYS,文檔測試 doctest.testfile(sys.argv中[1]) '代碼' 然後我只是在項目屬性中給了它一個腳本參數,這是我想測試的文件。 – 2012-08-17 17:31:40