【发布时间】:2021-03-04 15:23:25
【问题描述】:
考虑以下包含 doctests 的文档。
def f(x):
"""
Increments by one.
>>> f(2)
3
"""
return x + 1
PyCharm 的测试运行程序 (as seen here) 选择了 doctest。
但是 PyCharm 并没有将以下内容视为 doctest(尽管例如 pytest --doctest-modules -v 可以看到)。
f = lambda x: x + 1
f.__doc__ = """
Increments by one.
>>> f(2)
3
"""
【问题讨论】:
-
我感觉到XY problem。
-
愚蠢的尝试:尝试将手动分配的文档字符串的内容缩进一级(也许还有关闭的三引号行)。我不知道 PyCharm 通常会做什么来查找测试,但是在模块级文档字符串之外,可以假定内容是缩进的,并且它用于查找/解析测试文档字符串的功能可能与测试有问题不是完全缩进。哎呀,在the answer to the question you linked 中,该示例甚至还缩进了模块级文档字符串,这让我很怀疑。
-
是的,@ShadowRanger;这似乎奏效了。您为什么不将其作为答案,以便我可以将其分配为答案?