gpt4 book ai didi

Python 文档测试 : Skip entire block?

转载 作者:太空狗 更新时间:2023-10-29 17:39:34 25 4
gpt4 key购买 nike

我在类方法中有一个带有文档字符串的 Python 模块,在模块文档字符串中有一个真实示例。区别在于方法文档字符串经过精心设计,可以完全重复测试,而真实世界的示例只是 Linux shell 历史记录的复制粘贴——它恰好调用了 python 解释器。

例如

"""
Real-world example:

# python2.5
Python 2.5 (release25-maint, Jul 20 2008, 20:47:25)
[GCC 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from packagename import module
>>> module.show_real_world_usage()
'Hello world!'
"""

class SomeClass(object):
def someMethod(self):
"""
>>> 1 == 1
True
"""

我想在 SomeClass.someMethod 中运行 doctest ,但不在模块的文档字符串中。

Doctest 的 +SKIP指令仅适用于每行,这意味着要在我的真实示例中添加 10 行。丑!

有没有办法让 doctest 跳过整个 block ?有点像<!-- ... -->在 HTML 中?

最佳答案

将示例包装在函数中,然后跳过函数调用:

"""
>>> def example():
... from packagename import module
... module.show_real_world_usage()
...
>>> example() # doctest: +SKIP
'Hello world!'
"""

关于Python 文档测试 : Skip entire block?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1809037/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com