【发布时间】:2021-04-11 18:39:15
【问题描述】:
我有一个 python 模块 some_module 和一个 __init__.py 导入方法的文件,如下所示:
from .some_python_file import some_method
some_method 有一个包含文档测试的文档字符串:
def some_method():
"""
>>> assert False
"""
但是当我在模块上运行doctest 时,即使测试失败,它也会通过。
import some_module
# How do I get this to consistently fail, regardless of whether
# `some_module.some_method` was declared inline or imported?
assert doctest.testmod(some_module).failed == 0
如果我改为在 __init__.py 文件中定义 some_method,则 doctest 正确失败。
为什么这两种情况的表现不同?该方法存在并且在两种情况下都具有相同的__doc__ 属性。
如何让 doctest 运行在导入模块的方法的 dostrings 中定义的测试?
【问题讨论】:
标签: python-3.x doctest