doctest没有看到我的任何文档测试

我的模块中有一个功能:
def selftest(verbose = false):
进口医生
doctest.testmod(详细=详细)
当我运行它时,它找不到我的任何DOC测试,包括测试
在__ -main __中,实际上看起来甚至找不到我的功能
和课程:
1个项目没有测试:
__主要的__
0个项目中的0个测试.
0通过,0失败.
考试通过了.
第二次和随后的时间我称自我测试,我得到了相同的结果
除了将此行添加到最后:
*** doctestrunner.merge:'__ -main __'在两个测试人员中;总结结果.
我从Python退出并重新启动了交互式解释器.我有
删除模块.PYC文件.两者都没有帮助.
我尝试阅读医生模块,以查看是否有任何提示
至于出了什么问题,但这对我来说很不透明.如果有人
在那里对医生有很好的了解,我感谢一些
指针从哪里开始寻找,或者以其他方式解决此问题.
对于它的价值,我正在运行
Python 2.5(R25:51908,2007年4月10日,10:29:13)
[GCC 4.1.2 20070403(Red Hat 4.1.2-8)]在Linux2上
- -
史蒂文

# 回答1


史蒂文·达·阿普拉诺(Steven D'Aprano)写道:
如果将上述更改为
def selftest(verbose = false):
进口医生,yourmodule
doctest.testmod(yourmodule,冗长=冗长)
(显然,yourmodule是模块的名称)
# 回答2


史蒂文·d'Aprano,首先您可以尝试运行最小模块,
看看您的医生是否有效,例如:
"""
3
"""
def foo():
"""
1
"""
返回0
进口医生
doctest.testmod()
如果正确工作,那么您可以向我们展示更多代码
和测试.
再见,
# 回答3


在阳光下,2008年9月7日15:51:01 +0200,弗雷德里克·伦德(Fredrik Lundh)写道:
如果将上述更改为
def selftest(verbose = false):
进口医生,yourmodule
doctest.testmod(yourmodule,冗长=冗长)
(显然,yourmodule是模块的名称)

好吧,这肯定解决了问题,谢谢.现在它正确运行了所有
我的医生.
但是我不明白为什么运行时裸露的doctest.testmod()
非交互性,但在交互式运行时失败.
- -
史蒂文

标签: python

添加新评论