1
我想在.txt文件(即不在docstring上)上運行Python的doctest,但我不想去命令行。從.py文件的文本文件運行doctest?
蟒蛇-m文檔測試的myfile.txt
我不想在命令行做的原因是,我只是不想離開的Visual Studio。我想用F5運行它,然後在VS中看到我的輸出。
問題:如何從.py文件運行doctest,然後從命令行運行?
我想在.txt文件(即不在docstring上)上運行Python的doctest,但我不想去命令行。從.py文件的文本文件運行doctest?
蟒蛇-m文檔測試的myfile.txt
我不想在命令行做的原因是,我只是不想離開的Visual Studio。我想用F5運行它,然後在VS中看到我的輸出。
問題:如何從.py文件運行doctest,然後從命令行運行?
檢出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())
完全正確,謝謝。 我有一個非常簡單的文件在VS的項目,tester.py我的主文件去: '代碼' 進口SYS,文檔測試 doctest.testfile(sys.argv中[1]) '代碼' 然後我只是在項目屬性中給了它一個腳本參數,這是我想測試的文件。 – 2012-08-17 17:31:40