您好,我想知道这是不是可能的,如果是的话,是怎么做的?从主线做doctest或类似的事情,而不是像doctest文档中描述的那样测试函数。
"""
>>>
Hello World
"""
if __name__ == "__main__":
print "Hello"
import doctest
doctest.testmod()这是能够针对文档字符串测试学生脚本的一部分,我找到了这段代码,它允许我将两者都输入为strong
import doctest
from doctest import DocTestRunner, DocTestParser
enter code here
def run_doctest(code, test):
import doctest
from doctest import DocTestRunner, DocTestParser
code = code + '\n__dtest=__parser.get_doctest(__test, globals(), "Crunchy Doctest", "crunchy", 0)\n__runner.run(__dtest)\n'
runner = DocTestRunner()
parser = DocTestParser()
exec code in {'__runner':runner, '__parser':parser, '__test':test}这或多或少起到了作用,但似乎并不理想,这是对这两点的建议。
发布于 2010-08-14 10:11:24
doctest并不局限于测试函数。例如,如果dt.py为:
'''
>>> foo
23
'''
foo = 23
if __name__ == '__main__':
import doctest
doctest.testmod()然后,例如:
$ py26 dt.py -v
Trying:
foo
Expecting:
23
ok
1 items passed all tests:
1 tests in __main__
1 tests in 1 items.
1 passed and 0 failed.
Test passed.(在没有-v的情况下也能正常工作,但这样就没什么可展示的了:只有静默;-)。这就是你要找的吗?
https://stackoverflow.com/questions/3481561
复制相似问题