1

Python の doctest を .txt ファイル (つまり、docstring ではなく) で実行したいのですが、コマンド ラインに移動したくありません。

python -m doctest myfile.txt

コマンド ラインから実行したくない理由は、Visual Studio を離れたくないからです。F5 で実行してから、VS でも出力を確認したいと考えています。

質問: コマンド ラインからではなく、.py ファイルから doctest を実行するにはどうすればよいですか?

4

1 に答える 1

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())
于 2012-08-16T18:09:28.520 に答える