Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 autodoc扩展模拟类的类_Python 2.7_Mocking_Python Sphinx_Autodoc - Fatal编程技术网

Python 2.7 autodoc扩展模拟类的类

Python 2.7 autodoc扩展模拟类的类,python-2.7,mocking,python-sphinx,autodoc,Python 2.7,Mocking,Python Sphinx,Autodoc,我试图在扩展外部类的类上运行autodoc 我使用了mock,因此导入被接受 为此,我使用了本博客中描述的内容 我试图记录的python文件如下所示: 从de.xyz导入类_,该类_被扩展 class extending_class (class_that_is_extended): ''' docstring ''' 运行sphinx之后,结果是只显示类名加上到源的链接 当我更改行“类扩展类(类扩展为类扩展):” 对于“类扩展类(对象):”sphinx/autodoc使用docstrin

我试图在扩展外部类的类上运行autodoc

我使用了mock,因此导入被接受

为此,我使用了本博客中描述的内容

我试图记录的python文件如下所示: 从de.xyz导入类_,该类_被扩展

class extending_class (class_that_is_extended):
'''
  docstring
'''
运行sphinx之后,结果是只显示类名加上到源的链接

当我更改行“类扩展类(类扩展为类扩展):” 对于“类扩展类(对象):”sphinx/autodoc使用docstring生成文档


我怎样才能让课堂保持原样,并且仍然在文档中获取文档字符串?

使用此处发布的方法:

我刚换了一行:

sys.modules[mod_name] = mock.Mock()
致:


并从MOCK_模块中删除了“de.xyz.class_,该类_是扩展的”

我遇到了同样的问题,我的解决方案是直接从属性访问上的
MOCK
返回
对象

from unittest.mock import MagicMock

MOCK_MODULES = [
    # modules to mock
    'kivy.uix.floatlayout',
]

MOCK_CLASSES = [
    # classes you are inheriting from
    "FloatLayout",
]


class Mock(MagicMock):
    @classmethod
    def __getattr__(cls, name):
        if name in MOCK_CLASSES:
            return object
        return MagicMock()


sys.modules.update((mod_name, Mock()) for mod_name in MOCK_MODULES)
sys.modules[mod_name] = mock.Mock(class_that_is_extended=object)
from unittest.mock import MagicMock

MOCK_MODULES = [
    # modules to mock
    'kivy.uix.floatlayout',
]

MOCK_CLASSES = [
    # classes you are inheriting from
    "FloatLayout",
]


class Mock(MagicMock):
    @classmethod
    def __getattr__(cls, name):
        if name in MOCK_CLASSES:
            return object
        return MagicMock()


sys.modules.update((mod_name, Mock()) for mod_name in MOCK_MODULES)