首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python3: doctest助手/内部函数?

python3: doctest助手/内部函数?
EN

Stack Overflow用户
提问于 2015-03-27 18:29:02
回答 1查看 509关注 0票数 3

我如何使下列工作,以便帮助的测试运行?不会的。

代码语言:javascript
复制
def B():
    def helper():
        """
        >>> some doctest
        result
        """

...
if __name__ == "__main__":
    import doctest
    doctest.testmod() 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-27 18:33:01

无法找到嵌套函数,因为函数对象在运行B()函数之前不存在。作为调用B()函数的结果,您必须返回它,然后将它分配给__test__字典:

代码语言:javascript
复制
def B()
    def helper()
        """
        >>> some doctest
        result
        """

    return helper    

# ...

if __name__ == "__main__":
    import doctest
    __test__ = {'helper': B()}
    doctest.testmod() 

doctest.testmod()查找__test__全局字典,并在值中的任何类、方法、函数和模块上查找文档字符串;任何字符串值都直接作为docstring测试执行。

如果B()做了其他事情,那么您可能应该让helper()成为一个简单的全局函数:

代码语言:javascript
复制
def B():
    # uses helper

def helper()
    """
    >>> some doctest
    result
    """

# ...

if __name__ == "__main__":
    import doctest
    doctest.testmod() 
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29307730

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档