我想在 .txt 文件上运行 Python 的 doctest(即,不在 docstring 上),但我不想转到命令行。
python -m doctest myfile.txt
我不想从命令行执行此操作的原因是我只是不想离开 Visual Studio。我想用 F5 运行它,然后在 VS 中查看我的输出。
问题:如何从 .py 文件运行 doctest,而不是从命令行运行?
我想在 .txt 文件上运行 Python 的 doctest(即,不在 docstring 上),但我不想转到命令行。
python -m doctest 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())